私はtutorial
モデルとモデルを持っていtutorial_category
ます。has_many
belongs_to
リレーションシップを使用して 2 つをリンクしました。私のチュートリアルのインデックス ビューでは、次のようにチュートリアルをループしています<% @tutorials.each do |tutorial| %>
。そのループ内で、各チュートリアルが属するカテゴリを表示したいと考えています。私はそれを次のようにしようとしています<%= tutorial.tutorial_categories.title %>
(タイトルはtutorial_categoryモデルの属性であり、tutorial_categoryモデルの属性として:tutorial_idもあります。また、:tutorial_category_idはチュートリアルモデルの属性です)。
私のチュートリアルコントローラーのインデックスアクションは次のとおりです。
def index
@tutorials = Tutorial.all
@tutorial = Tutorial.new
@tutorial_categories = TutorialCategory.select("DISTINCT title, id")
respond_to do |format|
format.html # index.html.erb
format.json { render :json => @tutorials }
end
end
ここで何が間違っているのかわかりません。私の経験からすると、これはすべて正しく動作するはずですが、Ruby コードを作成してから数か月が経過しているため、おそらくここでばかげたことを見逃している可能性があります。どんな助けでも大歓迎です!
更新: 私のモデル
class Tutorial < ActiveRecord::Base
attr_accessible :content, :title, :tutorial_category_id
belongs_to :tutorial_category
end
class TutorialCategory < ActiveRecord::Base
attr_accessible :title, :tutorial_id
has_many :tutorials
end