link_to без учета идентификатора объекта в Rails 2.3.8 - PullRequest
0 голосов
/ 20 ноября 2010

Я добавил метод внутри существующего контроллера 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

Есть идеи, что не так с тем, что я делаю?

Спасибо!

Ответы [ 2 ]

1 голос
/ 20 ноября 2010

Я думаю, вы, возможно, ищете : member :

map.resources :reports, :member => { :detail => :get }

Использование link_to:

link_to "Detail", detail_report_path(@report)
0 голосов
/ 20 ноября 2010

Синтаксическая ошибка, может быть?Не используйте запятую сразу после @ report

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