Мой сценарий: у фильмов есть обзоры, у комментариев есть комментарии.
Модель фильма:
has_many :reviews
Модель обзора:
has_many :comments
belongs_to :movie
Модель комментария:
belongs_to :review
Маршруты:
resources :movies do
resources :reviews do
resources :comments
end
end
Контроллер комментариев:
def create
@movie = Movie.find(params[:movie_id])
@review = Review.where(:movie_id => @movie.id)
@comment = @review.comments.create(params[:comment]) // Line 5
redirect_to movie_path(@movie)
end
Просмотр комментариев:
<%= form_for([@movie, r, r.comments.build]) do |f| %>
<div class="field">
<%= f.text_area :body %>
</div>
<div class="actions">
<%= f.submit "Submit" %>
</div>
<% end %>
Полученная ошибка:
NoMethodError (undefined method `comments' for #<ActiveRecord::Relation:0x007ff5c5870010>):
app/controllers/comments_controller.rb:5:in `create'
Может кто-нибудь подсказать, пожалуйста, что я делаю не так?
Заранее спасибо ..