In Rails 2つの文字列でモデルを生成し、さらに追加したいと思います。これを行うにはどうすればよいですか?
Active Recordはテーブルの列をモデルの属性にマッピングするので、Railsはもっと必要だと言う必要はありません。やらなければならないことは、列を作成してRailsはそれらを検出し、属性は自動的に追加されます。
migrations を使用して、テーブルに列を追加できます。
Rails generate migration AddNewColumnToMyTable column_name:column_type(string by default)
例:
Rails generate migration AddDataToPosts views:integer clicks:integer last_reviewed_at:datetime
これによりファイルが生成されます:
db/2017.....rb
必要に応じて開き、変更を追加します。
self.up
#add_column :tablename, :column_name, :column_type
add_column :posts, views, :integer
add_column :posts, clicks, :integer, default: 0
end
お役に立てれば。
はい、@ JCorcueraによるソリューションは適用可能ですが、要件を満たすために、もう少し情報をRailsに適用することをお勧めします。このアプローチを試してください。
Rails generate migration add_columnname_to_tablename columnname:datatype
例えば:
Rails generate migration add_password_to_users password:string
さらに簡単にするために、次のことを実行できます。
Rails g migration add_something_to_model something:string something_else:integer
Rails 4.xを使用している場合、次のような参照を使用して移行を生成できます。
Railsは移行を生成しますAddUserRefToProducts user:references
Railsガイド で見ることができるように