В routes.rb:
resources :cars do
resources :reviews
end
resources :motorcycles do
resources :reviews
end
В ReviewsController:
before_filter :find_parent
def show
@review = Review.find(params[:id])
respond_to do |format|
format.html # show.html.erb
format.xml { render :xml => @review }
end
end
def edit
@review = Review.find(params[:id])
end
# ...
def find_parent
@parent = nil
if params[:car_id]
@parent = Car.find(params[:car_id])
elsif params[:motorcycle_id]
@parent = Motorcycle.find(params[:motorcycle_id])
end
end
Создание ссылки "показать" для обзора просто (это работает):
= link_to "Show", [@parent, @review]
Аналогично, я хотел бы ссылаться на общий путь редактирования для обзора, что-то вроде (это не работает):
= link_to "Edit", [@parent, @review], :action => 'edit'
Кто-нибудь знает, возможно ли это или, если нет, как это может быть выполнено?