あなたは本当にモデルに属性を「追加」することはできません、あなたが移行ファイルを作成し、それを実行していることをやる - Railsの数字どの列がデータベースにあるかに基づいて、モデルが持つ属性を抽出します。しかし、を実行すると、モデルに行を追加して、属性をホワイトリストに登録する必要があります。そのため、アクティブレコードモデルでは、次のような行が頻繁に表示されます。
attr_accessible :name
これは必須ではなく、属性を追加するために必須ではありません。デシベル/移動/ディレクトリに移行ファイルを作成します
rails g migration AddAddressToPerson address:string
:
は、実際には最初での移行を作成し、モデルに新しい属性を追加します。 ( "AddXXXToYYY"と "RemoveXXXFromYYY"の形式は、レールがモデルXXXに新しい列を追加(または削除)することを意味します。詳しくはdocumentationを参照してください)。この例では、文字列であるaddress
という名前の属性を追加しましたが、その属性を変更することができます。
そして、実際にデータベースを更新するために、あなたはrake
で移行を実行する必要があります。
rake db:migrate
あなたはその属性の質量の割り当てを許可する場合は最後に、attr_accessible
に引数のリストに属性を追加:
attr_accessible :name, :address
これでいいはずです。
FYI:あなたの 'mass assignment'リンクは私に404を与えます。 – Niek
ありがとう、リンクが削除されました。 –