如何在RoR中为模型添加额外的临时参数?

Kis*_*kov 3 ruby ruby-on-rails ruby-on-rails-3

我有一个模型"类别"与字段:名称,主页.接下来我想获得所有记录:

categories = Category.all

我想为每条记录添加一个额外的临时参数"url".所以我想要这个:

类别[0] .url ="http://example.com"

put categories [0] .url#=> http://example.com

那么如何添加临时附加参数呢?提前致谢!

Dav*_*ton 8

如果"临时"是指不会持久化的对象实例属性,则只需使用attr_accessor普通的Ruby对象即可.


Buc*_*yle 6

如果我理解正确,您希望Category对象在传递给视图进行渲染时具有非数据库属性?

您可以添加未存储在数据库中的属性,将其添加到app/models/category.rb:

attr_accessor :url
Run Code Online (Sandbox Code Playgroud)


Fle*_*oid 5

您可以添加常用attr_accessor的模型.

class Category < ActiveRecord::Base

  attr_accessor :url
  # other stuff

end
Run Code Online (Sandbox Code Playgroud)