我正在尝试链接到条目控制器中的动作addData。我构建了这样的链接:
<%= link_to image_tag (w.link, :border =>0) ,:controller => :entries, :action => :addData %>
但是当我点击链接时,我收到此错误:
Couldn't find Entry with ID=addData
我很确定这是因为我有一个宁静的设计。有没有解决这个问题的方法?谢谢你的阅读。
答案 0 :(得分:1)
您是否为此操作addData正确定义了路由? 顺便试试这个:
<%= link_to image_tag (w.link, :border =>0) ,{:controller => :entries, :action => :addData} %>
答案 1 :(得分:1)
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'