加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 百科 > 正文

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

最后,我不确定你要做什么.如果这对你没有意义,请重新解释你的问题,这样我们就能更好地理解问题.

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读