演習課題「ネコの種別を選択できるようにしよう」
右の環境には、Railsで「catmap」というプロジェクトに、「cat」という掲示板と「feed」という掲示板が作られています。また、この2つの掲示板は、すでに関連付けてあります。
エディタを使って、app/views/cats/_form.html.erbを修正して、catの登録/修正フォームで、catのfeedを選択できるようにしてください。
rails serverを起動した上で、採点して、すべてのジャッジに正解すれば、演習課題クリアです!
#03:カテゴリリストとお店リストを関連付けよう
ここでは、ランチマップのカテゴリリストとお店リストを関連付けて、このお店リストに、カテゴリ名を表示するよう設定します。
自動生成した掲示板の間で相互にリンクを貼るには、次のように記述します。
app/views/shops/index.html.erb<%= link_to 'New Shop', new_shop_path %> <%= link_to 'Show Categories', categories_path %>
app/views/categories/index.html.erb<%= link_to 'New Category', new_category_path %> <%= link_to 'Show Shops', shops_path %>
カテゴリリストとお店リストのモデルを関連付けるには、次のように記述します。
app/models/category.rbclass Category < ApplicationRecord
has_many :shops
end
app/models/shop.rbclass Shop < ApplicationRecord
belongs_to :category
end
登録・修正フォームで、カテゴリを選択できるようにするには、次のように記述します。
app/views/shops/_form.html.erb<div class="field">
<%= f.label :category_id %>
<%= f.select :category_id, Category.all.map{|o| [o.name, o.id]} %>
</div>
お店リストの一覧表示と詳細表示にカテゴリ名を表示するには、次のように記述します。
app/view/shops/index.html.erb<td><%= shop.category.name %></td>
app/view/shops/show.html.erb<%= @shop.category.name %>
4. scaffoldを利用した開発(1) | TECHSCORE(テックスコア)
http://www.techscore.com/tech/Ruby/Rails/quick-start/Rails4/4-1/
Railsで階層化された複数モデルに対応するフォームの作り方 - Shred IT!!!!
http://jetglass.hatenablog.jp/entry/2015/04/15/165236
[Rails 4.x] FormのSelect プルダウンメニューの項目をDBから引っ張ってくる方法 - Qiita
http://qiita.com/satomyumi/items/b58888506e41d1370fd1
RailsのScaffoldでネストしたResourceを作る - sometimes I laugh
http://sil.hatenablog.com/entry/rails-nested-resource-by-scaffold