モデルの関連付けしたプロジェクトを作った時のメモ
チュートリアル通りにやるとうまくいくのだけど、
自分で作ると関連付けされなくてだいぶ詰まりまくったのでその時のメモ。
詰まったところ
generatorに渡すモデル・コントローラー名の単数系・複数形
作るもの
ブログでありがちな記事とコメントの1対多の関係が出来るところまで。
Gemfile
source 'https://rubygems.org'
gem 'rails', '3.2.3'
gem 'execjs'
gem 'therubyracer'
gem "twitter-bootstrap-rails"
gem 'sqlite3-ruby'group :development, :test do
gem 'rspec-rails'
gem 'sqlite3'
endgroup :production do
gem 'pg'
endgroup :assets do
gem 'sass-rails', '~> 3.2.3'
gem 'coffee-rails', '~> 3.2.1'
gem 'uglifier', '>= 1.0.3'
end
Rspec、bootstrapを使う。factry_girlは後で入れる。
execjs、therubyracerはJavascriptのランタイムだかv8なんたらエラーが出たので仕方なく入れた。
pgはherokuのため。
モデルと足場を作成
所有される側のモデル、commentモデル
$rails g model comment name body:text post:references
references型を入力するとindex、外部キー、beongs_toあたりを自動で書いてくれる。
※モデルのみをgenerateする時は"単数"
モデル修正
postモデル
has_many :comments
※複数形