我可以使用:method => :用url_for()删除?

时间:2012-08-01 02:35:12

标签: ruby-on-rails devise

我正在使用Devise进行身份验证,并在“注销”下拉列表中创建项目。这就是我构建它的方式:

<a href="<%= url_for(destroy_user_session_path) %>"><span data-icon="&#xe040;" /> Sign Out</a>

我正在使用图标字体将漂亮的小图片粘贴到文本的左侧。使用Devise,它使用DELETE谓词作为destroy_user_session_path路由。大多数人会使用button_to或link_to,但我不认为这对我有用。使用link_to将自动粘贴在结束标记中,这将不允许我放入我的span标记。有没有办法构建上述链接并使用DELETE动词?

现在我正在使用this thread中的解决方案。具体改变config.sign_out_via =:delete to config.sign_out_via =:get in devise.rb。

1 个答案:

答案 0 :(得分:1)

只需将data-method="delete"添加到您的链接代码即可。这是link_to使用:method => :delete调用时所执行的操作。 JQuery完成剩下的工作。

<a href="<%= url_for(destroy_user_session_path) %>" data-method="delete"><span data-icon="&#xe040;" /> Sign Out</a>