RoR:我在执行动作的简单链接时遇到了麻烦

时间:2010-07-11 14:13:56

标签: ruby-on-rails rest

我正在尝试链接到条目控制器中的动作addData。我构建了这样的链接:

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

但是当我点击链接时,我收到此错误:

Couldn't find Entry with ID=addData

我很确定这是因为我有一个宁静的设计。有没有解决这个问题的方法?谢谢你的阅读。

2 个答案:

答案 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'