【问题标题】:Using link_to to add url params when not using a path helper method在不使用路径辅助方法时使用 link_to 添加 url 参数
【发布时间】:2012-05-16 19:42:33
【问题描述】:

我正在使用 link_to 来构建我的 URL,我正在做这种事情

<%= link_to "new wire", [:new, @object, @post], :class => 'green', ...

但是我如何通过 link_to 添加 url 参数?例如,我希望 URL 是

http://www.something.com/groups/3/posts/4?a_param=23

无需使用 new_group_post_path(@group, @post, :a_param => '23') 帮助器。

更新:

为了更清楚一点,我不知道@object 是什么,它可能是 Group 对象、Member 对象等,我也不想使用长且绑定的 if/elsif/elsif...end 条件依次找到哪个对象以知道哪个 url 助手(即 new_group_post_path() 或 new_member_post_path() ...),因此让 Rails 使用上面显示的数组结构为我猜测 URL 的原因 ie.[@object, @post. ..].

【问题讨论】:

    标签: ruby-on-rails-3


    【解决方案1】:

    这应该有效:

    <%= link_to "new wire", polymorphic_path([:new, @object, @post], a_param: '23', b_param: '24'), :class => 'green', ...
    

    详情请参考polymorphic_path

    【讨论】:

    • 哇!!!太棒了,非常感谢,我已经搜索了很长时间,因为这个当前的项目有大量的多态对象,去看看,它甚至是以它命名的!再次感谢。
    【解决方案2】:

    将它作为散列传递给你在link_to中的url助手:

    <%= link_to "new wire", new_object_url(@object, :a_param => 23), :method=> :post, :class => 'green', ...
    

    【讨论】:

    • 我添加了一个额外的解释,因为我假设你的答案不明白我不知道在这种情况下对象是什么,因此不知道要使用什么 url 助手。见上文。
    猜你喜欢
    • 1970-01-01
    • 2011-03-12
    • 1970-01-01
    • 2011-10-06
    • 1970-01-01
    • 1970-01-01
    • 2016-06-01
    • 2017-08-09
    • 2011-07-05
    相关资源
    最近更新 更多