Ruby on Rails: link_to ведет себя странно - PullRequest
0 голосов
/ 12 июля 2010

Итак .. вот моя ссылка_

<% = link_to "Архив",: action => 'архив'%>

и мой вывод в консоль

 Parameters: {"action"=>"archive", "controller"=>"achievables"}

почему действие не "архив"? метод определен в контроллере ... пишется правильно и все.

EDIT: fromways.rb

  map.archives 'achievable/archive', :controller => 'achievables', :action => 'archive'

  map.resources :achievables, :member => {:build => [:get,:post], :publish_detail => [:get,:post], :publish=>[:get,:post], :confirm_publish=>[:get,:post], :confirm_delete=>[:get,:post]}

прямо сейчас, ошибка

Showing app/views/layouts/build_archivable.html.erb where line #6 raised:

Called id for nil, which would mistakenly be 4 -- if you really wanted the id of nil, use object_id

что, опять же, неверный путь. = \

1 Ответ

1 голос
/ 12 июля 2010

Попробуйте указать действие в виде строки, а не символа:

<%= link_to 'Archive', :action => 'archive' %>

В качестве альтернативы, у вас может быть маршрут с более высоким приоритетом, определенный в config/routes.rb, который сопоставляется до маршрута /:controller/:action/:id по умолчанию (Rails начинается в верхней части файла и работает вниз, пока не попадет на маршрут, соответствующий URL) .

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