ruby-on-rails – 如何向ActiveRecord添加新属性
发布时间:2020-12-16 19:27:06 所属栏目:百科 来源:网络整理
导读:从模型中获取所有值后,我想向ActiveRecord类添加另一个自定义属性(此属性不是db中的列),以便我可以在视图中使用它,但rails不允许我添加一个.我应该在其模型类中添加什么? @test.all@test.each do |elm| elm[:newatt] = 'added string'end 错误: can't writ
从模型中获取所有值后,我想向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 最后,我不确定你要做什么.如果这对你没有意义,请重新解释你的问题,这样我们就能更好地理解问题. (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |