RoR: у меня проблемы с простой ссылкой на действие - PullRequest
1 голос
/ 11 июля 2010

Я пытаюсь сделать ссылку на действие addData в контроллере записей. Я построил ссылку так:

<%= link_to image_tag (w.link, :border =>0) ,:controller => :entries, :action  =>  :addData %>

но когда я нажимаю на ссылку, я получаю эту ошибку:

Couldn't find Entry with ID=addData

Я почти уверен, что это потому, что у меня спокойный дизайн. Есть ли способ обойти эту проблему? Спасибо за чтение.

Ответы [ 2 ]

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

Rails полностью перешел на RESTful дизайн.Это означает, что для использования нестандартных действий вы должны добавить их к своим ресурсам в config/routes.rb.

Если они работают на всех ресурсах, вы добавляете их в хеш :collection => {:addData => :post} В случае, если у вас есть один работающийна одном ресурсе с идентификатором используйте :member.Для некоторых это для вас.

map.resources :entries, :collection => {:addData => :post}

Чтобы использовать старый стиль отображения любого действия на любой контроллер, вы можете добавить следующие две строки к вашему config/routes.rb

  map.connect ':controller/:action/:id.:format'
  map.connect ':controller/:action/:id'
1 голос
/ 11 июля 2010

Вы правильно определили маршрут для этого действия addData? Кстати попробуйте это:

<%= link_to image_tag (w.link, :border =>0) ,{:controller => :entries, :action  =>  :addData} %>
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...