У меня есть модель tutorial
и модель tutorial_category
. Я связал их вместе, используя связь has_many
belongs_to
. В моем представлении индексов учебников я просматриваю такие учебники: <% @tutorials.each do |tutorial| %>
. Внутри этого цикла я хочу показать категорию, к которой относится каждый учебник. Я пытаюсь сделать это как <%= tutorial.tutorial_categories.title %>
(название - attr в модели tutorial_category, и у меня также есть: tutorial_id как атрибут в модели tutorial_category. И: tutorial_category_id - это attr в учебной модели, если на то пошло).Rails - показать, к какой категории относится учебное пособие в указательном указателе
Здесь индекс действие в моем контроллере учебников:
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, поэтому мне, вероятно, не хватает чего-то глупого здесь. Любая помощь будет оценена!
Update: мои модели
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
Учебные категории has_many tutorials. Я пытаюсь сделать то, что вы дали для этого, но я все еще получаю неопределенный метод для «title» –
В вашем вопросе вы написали 'tutorial.tutorial_categories.title', убедитесь, что он сингулярный, как в моем ответе, а не множественное число. Также убедитесь, что вы выполнили все свои миграции. Возможно, вы также должны добавить модели к своему вопросу. –
Да, я сделал это сингулярным. Обновлен мой вопрос w/модели –