私はレールに不慣れで、関連付けを行う方法と、正しく行ったかどうかを正確に理解しようとしています。アソシエーションに関するレールガイドを読み、Webを検索して、いくつかのリソースを見つけましたが、よくわかりません。
ここで私のプロジェクトを見ることができます:majorfinder.com私のアプリには、専攻、学校、およびキャリアがあります。それぞれにレビューを追加できるようにしたいと思います。私は始めたばかりなので、専攻のレビューを追加することから始めています。
これが私の協会です:
models / review.rb
belongs_to :user
has_and_belongs_to_many :majors
models / user.rb
has_many :reviews
models / major.rb
has_and_belongs_to_many :reviews
私の最初の質問は、これは関連付けを作成するための良い方法のように見えますか?
メジャーコントローラーで単純な関連付けを行う方法を理解しています。
@reviews = Review.includes(:user)
それで、私の主要なコントローラーのレビューを表示できます。
<div class="row">
<% @reviews.each do |review| %>
<div>
<h3><%= link_to review.review,
:controller => "reviews", :action => "show", :id => review.id %></h3>
<small>Posted on <%= review.created_at %> by
<a href="#"><%= review.user.profile_name %></a></small>
</div>
<% end %>
</div>
しかし、これを私が見ている特定の専攻に接続する方法がわかりません。
私のレビューデータベーススキーマには、review(text)、user_id(integer)、およびmajor_id(integer)があります。
最後の質問は、その特定のメジャーが接続されているメジャーコントローラーのショーページ内にレビューを投稿するにはどうすればよいですか?