如何在Rails 4中声明模型属性?

时间:2015-12-24 08:05:05

标签: ruby ruby-on-rails-4

我正在尝试理解Rails,我不明白我是如何正确声明模型属性的。现在我的用户类看起来像这样:

class User < ActiveRecord::Base
    has_many :users # Friends
end

通过谷歌搜索我已经明白,在Rails 4之前,可以使用attr_accessible确定属性,如下所示:

attr_accessible :firstname, :lastname, :age, :sex

但这似乎已被弃用,我如何在Rails 4中做同样的事情?

1 个答案:

答案 0 :(得分:1)

has_many :users不是模型属性,model association。这意味着模型User可以包含许多User个对象,这是不正确的。 (甚至字面意思也没有意义)

attr_accessible做什么?

  

指定可以通过设置的模型属性的白名单   质assignmen

To add attributes to a model, you need to generate migrations.

示例,我们为用户添加name属性:

rails generate migration AddNameToUsers  #creates a migration file to add `name` column to `users` table

接下来是:

rake db:migrate  # executes migration file creating `name` column in `users` table

现在您可以简单地访问这些属性:

user = User.new
user.name

同样,如果您想在代码的某个位置批量指定此属性,则需要在类中使用attr_accessible指定此属性,与原始示例中一样。