我有一个带有字段的模型“类别”:名称、主页。接下来我想获取所有记录:
类别 = Category.all
我想为每条记录添加一个额外的临时参数“url”。所以我想要这个:
类别[0].url = "http://example.com"
puts categories[0].url #=> http://example.com
那么如何添加临时附加参数呢?提前致谢!
我有一个带有字段的模型“类别”:名称、主页。接下来我想获取所有记录:
类别 = Category.all
我想为每条记录添加一个额外的临时参数“url”。所以我想要这个:
类别[0].url = "http://example.com"
puts categories[0].url #=> http://example.com
那么如何添加临时附加参数呢?提前致谢!
如果“临时”是指不会被持久化的对象实例属性,则只需attr_accessor
像普通的 Ruby 对象一样使用。
如果我理解正确,您希望Category
对象在传递给视图进行渲染时具有非数据库属性?
您可以添加未存储在数据库中的属性,将其添加到app/models/category.rb
:
attr_accessor :url
您可以将通常添加attr_accessor
到您的模型中。
class Category < ActiveRecord::Base
attr_accessor :url
# other stuff
end
我一直在寻找这个,我不确定为什么这个答案很难找到。它是临时的,不会保留在数据库中,不会添加到对象的实际类中......
这仅用于向该对象添加属性:
@object[:new_attr] = value
所以在你的例子中......
@categories = Category.all
@categories.each do |cat|
cat[:url] = "myUrl"
end