У меня есть 2 таблицы: места и отзывы, где 1 место может иметь много отзывов, и отзыв принадлежит месту.В настоящее время я добавляю отзывы к объектам по ссылке на странице показа объектов на новую страницу отзывов:
venues / show.html.erb
<div class="button">
<%= link_to 'Add a review', new_venue_review_path(@venue) %>
</div>
reviews / new.html.erb
<% form_for [@venue, @review] do |f| %>
<p>title: <br>
<%= f.text_field :title %></p>
<%= submit_tag %>
<% end %>
контроллер отзывов
def new
@review = Review.new
end
def create
@review = Review.new params[:review]
@review.venue = @venue
if @review.save
flash[:notice] = 'Review added'
redirect_to venue_path(@venue)
else
render :action => :new
end
end
контроллер объектов
class VenuesController < ApplicationController
def index
if
@venues = Venue.with_type(params[:venuetypes]).with_area(params[:areas])
else
@venues = Venue.all
end
end
def new
@venue = Venue.new
end
def create
@venue = Venue.new params[:venue]
if @venue.save
flash[:notice] = 'Venue added'
redirect_to venues_path
else
render :action => :new
end
end
def edit
@venue = Venue.find(params[:id])
end
def update
@venue = Venue.find(params[:id])
@venue.attributes = params[:venue]
if @venue.save!
flash[:notice] = 'Venue updated successfully'
redirect_to venues_path(@venue)
end
end
def show
@venue = Venue.find(params[:id])
end
end
маршруты
resources :venues do
resources :reviews
end
end
Как переместить форму добавления нового отзыва непосредственно на страницу показа мест?Перемещение кода приводит к неопределенному методу "имя_модели" для NilClass: ошибка класса.
Спасибо за любую помощь!