2015-12-24 59 views
0

我想了解Rails,我不明白我如何正確聲明模型屬性。現在我的用戶類是這樣看:如何在Rails 4中聲明模型屬性?

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

通過谷歌搜索我明白,軌道4前一個能確定的屬性與attr_accessible,就像這樣:

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

但是,這似乎是過時,我如何在Rails 4中做同樣的事情?

回答

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指定此,就像你原來的例子。