当方rails 初心者です。
やりたいこと:
今、自分が描いた漫画を投稿して、みんなで見ることができるwebアプリを作成しています。
そこで、投稿する際にその漫画のジャンルもチェックボックスで投稿して、最終的には検索画面でジャンル検索できるようにしたいです。
現状コード:
ruby
1#Comic.rb 2class Comic < ActiveRecord::Base 3 has_many :comic_genres 4 has_many :genres, :through => :comic_genres 5end
ruby
1#ComicGenre.rb 2class ComicGenre < ActiveRecord::Base 3 belongs_to :comic 4 belongs_to :genre 5end 6
ruby
1#Genre.rb 2class Genre < ActiveRecord::Base 3 has_many :comic_genres 4 has_many :comics, :through => :comic_genres 5end
ruby
1#new.html.erb 2<%= form_for @comic, :url => {:action => 'create'} do |f| %> 3 4<div class="field"> 5 <%= f.text_field :title, placeholder: "作品タイトル" %> 6 <%= f.text_field :author, placeholder: "著者" %> 7 <%= f.file_field :front_cover, placeholder: "作品表紙" %> 8 ジャンルを選んでください 9 <%= f.check_box "genre", {'checked'=>'unchecked'}%>恋愛系 10 <%= f.submit "投稿する" %> 11</div>
ruby
1#ComicsController 2def create 3 @comic = Comic.new(comic_params) 4 redirect_to :action =>'index' 5end 6def comic_params 7 params.require(:comic).permit(:title,:author,:like,:front_cover) 8end
*現状コードへの補足:
1中間テーブルをコミックとジャンルの間に作成しました。
2トップページ(index)にはジャンルを表示しませんので、createメソッドしか質問上には書いていません。
質問:
1テーブルが異なる(ジャンルとコミック)際にも、同じformからの送信でデータベース側が読み取ってくれるのでしょうか。
2このチェックボックスが恋愛系ジャンルであるとどう判断されるのでしょうか。(つながりを作る必要がありそうと思うのですが。)
3その他、必要な実装コードがあれば教えていただければと思います。
お時間がある時で構いませんので、何卒、よろしくお願いいたします。
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2017/04/23 13:32