Вложенная модель / Маршруты в Rails 3 - PullRequest
0 голосов
/ 01 марта 2011

У меня есть простая функция ведения блогов в моем приложении Rails 3.Я пытаюсь добавить комментарии к каждому сообщению.Модель BlogComment имеет свойство blog_post_id, чтобы можно было найти соответствующие комментарии для каждого сообщения.Я уже настроил свои ассоциации в модели, я также вложил BlogComments в BlogPost в файле маршрутов.

Однако я не могу понять, как предоставить каждому BlogPost доступ к соответствующим комментариям.через контроллер, чтобы они могли быть показаны позже в представлении.

Ответы [ 3 ]

1 голос
/ 01 марта 2011

Было бы лучше иметь это как comments ассоциацию, чтобы вы не повторяли слово blog постоянно:

has_many :comments, :class_name => "BlogComment"

Это по-прежнему позволяет вам называть вашу модель BlogPost и BlogComment, но когда вы идете, чтобы получить комментарии для BlogPost объекта:

@blog_post.comments

Больше нет повторений.

1 голос
/ 01 марта 2011

Предполагая, что вы установили BlogPost с has_many :blog_comments, а BlogComment с belongs_to :blog_post, вы можете получить доступ к комментариям к записи в контроллере с помощью:

@blog_post = BlogPost.find(params[:id])
@blog_post_comments = @blog_post.blog_comments
0 голосов
/ 01 марта 2011

В вашей модели

BlogPost имеет много blog_Comments,

В вашем контроллере:

@ b = BlogPost.find (1)

по вашему мнению

@b.blog_Comments.each ....
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...