我在路由中使用以下内容向我的电子邮件控制器添加新操作:
map.resources :emails, :member => { :newfwd => :put}
预期的结果是newfwd_email_path(:id => 1)将生成以下urL:emails / 1 / newfwd
确实如此。但是我得到一个错误,它将'1'视为动作,将'newfwd'视为id。我希望'1'被解释为电子邮件的id,newfwd操作在其上发挥作用。
我不确定我做错了什么。 (注意:我使用的是Rails 2.3.8)
答案 0 :(得分:1)
尝试
link_to newfwd_email_path(1), :method => :put
:id => 1
与1
;)
答案 1 :(得分:0)
您不需要将哈希值传递给newfwd_email_path方法。尝试
newfwd_email_path(1)
编辑:您还需要使用:method => :put用于确保在服务器上收到请求并且路由生效时使用PUT谓词。