3

我是 ruby​​ 和 rails 的新手,在创建注销链接时遇到问题(使用 devise 进行身份验证)。我想将自定义 :method 参数传递给 link_to 函数,并设置一个自定义类。我似乎能够做到其中之一,但不能两者兼而有之。

当我尝试:

<%= link_to "Sign out", destroy_user_session_path, :method => :delete, { :class => 'signout'}   %>

我通过单击链接获得了正确的结果,但我失去了我的样式。另一方面,当我尝试:

<%= link_to "Sign out", destroy_user_session_path, { :class => 'signout'}, :method => :delete %>

我得到了我想要的样式,但链接请求作为 GET 而不是 DELETE 传递,导致路由错误。

我错过了什么?

4

2 回答 2

7

尝试将:class:method放在哈希内。

所以: <%= link_to "Sign out", destroy_user_session_path, { :class => 'signout', :method => :delete} %>

于 2012-06-13T19:38:02.983 回答
1

您在这里不需要哈希,因为它已经是哈希:D

link_to "Sign out", destroy_user_session_path, method: "delete", class: "signout"

利润!

于 2012-06-13T19:46:02.317 回答