Я добавил метод внутри существующего контроллера Rails (reports_controller) для обработки определенного действия, выходящего за рамки REST.Давайте назовем это действие «detail»:
def detail
@report = Report.find(params[:id])
respond_to do |format|
format.html # show.html.erb
format.xml { render :xml => @report }
end
end
Я добавил соответствующую страницу макета (detail.html.erb) и маршрутизацию, чтобы обеспечить доступ к странице из любого места,Вот как выглядит мой маршрут:
map.connect "reports/:action", :controller => 'reports', :action => /[a-z]+/i
Прямо сейчас я могу получить доступ к любой странице с подробностями.Пример страницы может выглядеть следующим образом: http://127.0.0.1:3000/reports/detail/8
Теперь я пытаюсь создать ссылку с главной страницы индекса отчета на страницы с подробностями, но при использовании кода ниже:
<%= link_to "Details", {:controller => "reports", :action => "detail", :id => @report }, {:title => "see details for this report"} %>
Созданная ссылка не включает в себя идентификатор отчета и выглядит следующим образом:
http://127.0.0.1:3000/reports/detail
Есть идеи, что не так с тем, что я делаю?
Спасибо!