从模型中获取所有值后,我想向ActiveRecord类添加另一个自定义属性(此属性不是db中的列),以便我可以在视图中使用它,但rails不允许我添加一个.我应该在其模型类中添加什么?
- @test.all
- @test.each do |elm|
- elm[:newatt] = 'added string'
- end
错误:
- can't write unknown attribute `newatt'
解决方法
试试这个
- class Test < ActiveRecord::Base
- attr_accessor :newattr
- end
你可以像访问它一样
- @test = Test.new
- @test.newattr = "value"
你可能会注意到这是一个属性,而不是哈希.所以它使用.句法.但是,如果您需要它表现得像哈希,您可以在不定义新属性的情况下执行此操作
- @test.all
- @test.each do |elm|
- new_elm = {}
- new_elm[:newatt] = 'added string'
- end
最后,我不确定你要做什么.如果这对你没有意义,请重新解释你的问题,这样我们就能更好地理解问题.