【问题标题】:adding a method and html options to link_to in rails?在rails中向link_to添加方法和html选项?
【发布时间】:2012-06-16 20:01:33
【问题描述】:

我是 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 传递的,导致路由错误。

我错过了什么?

【问题讨论】:

    标签: ruby-on-rails ruby ruby-on-rails-3


    【解决方案1】:

    尝试将:class:method 都放在哈希中。

    所以: &lt;%= link_to "Sign out", destroy_user_session_path, { :class =&gt; 'signout', :method =&gt; :delete} %&gt;

    【讨论】:

      【解决方案2】:

      这里不需要散列,因为它已经是散列了:D

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

      利润!

      【讨论】:

      • 很高兴知道谢谢!那么哈希值对于像这样的命名参数总是可选的吗?
      • 仅在哈希是 Ruby 方法中的最后一个参数的情况下
      • @sak 它们不是命名参数(Ruby 没有这些),当方法的最后一个参数是哈希时,你可以省略 {}
      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2016-06-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多