【问题标题】:Add extra options to link_to do为 link_to do 添加额外的选项
【发布时间】:2015-02-11 18:42:05
【问题描述】:

我想用这个 link_to 助手传递一个参数。我该怎么做?

<%= link_to ('/my_controller/my_action') do %>
    <div>haha</div>
<% end %>

我使用标准文本链接的原始代码:

<%= link_to("link text", {:controller => 'my_controller', :action => 'my_action', :id => my_id}) %>

【问题讨论】:

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


    【解决方案1】:

    就像你的第二个例子:

    <%= link_to({:controller => 'my_controller', :action => 'my_action', :id => my_id}) do %>
       My text goes here
    <% end %>
    

    如果您对此有路径助手(即,如果它类似于 PostsControllershow 操作),那么您可以这样做:

    <%= link_to post_path(my_id) do %>
      My text goes here
    <% end %>
    

    【讨论】:

    • 我一直这样做,但没有任何 { }。感谢您的回复。
    【解决方案2】:

    据我了解,您希望在使用块时将选项传递给 link_to 助手。

    来自http://api.rubyonrails.org/classes/ActionView/Helpers/UrlHelper.html#method-i-link_to的文档

    这可以通过以下格式实现

    link_to(options = {}, html_options = {}) do
      # name
    end
    

    给你一个例子并使用你提供的代码:

    <%= link_to({:controller => 'my_controller', :action => 'my_action', :id => my_id}) do %>
        <div>haha</div>
    <% end %>
    

    【讨论】:

    • 这没有显示如何执行 OP 要求的示例。
    • 我的回答显示了用于解决他的问题的签名。添加示例...
    猜你喜欢
    • 2016-08-30
    • 2015-10-19
    • 1970-01-01
    • 1970-01-01
    • 2012-09-16
    • 1970-01-01
    • 2015-02-25
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多