Ruby on rails 添加查询字符串参数以链接到
我很难添加querystring参数来将_链接到UrlHelper。例如,我有一个索引视图,其中包含用于排序、筛选和分页(通过will_paginate)的UI元素。will_paginate插件正确管理querystring参数的页内持久性 是否有自动机制将querystring参数添加到给定的命名路由,还是需要手动添加?对这个看似简单的结构进行了大量的研究,我对此一无所知 编辑 其中一些挑战:Ruby on rails 添加查询字符串参数以链接到,ruby-on-rails,query-string,Ruby On Rails,Query String,我很难添加querystring参数来将_链接到UrlHelper。例如,我有一个索引视图,其中包含用于排序、筛选和分页(通过will_paginate)的UI元素。will_paginate插件正确管理querystring参数的页内持久性 是否有自动机制将querystring参数添加到给定的命名路由,还是需要手动添加?对这个看似简单的结构进行了大量的研究,我对此一无所知 编辑 其中一些挑战: 如果我有两个querystring参数,bucket和sorting,那么如何在链接中为其中一个设
<%= link_to "0", profiles_path(:bucket => '0', :sorting=>?? ) %>
<%= link_to "0", profiles_path(:bucket => '0', [include sorting and page_size name/values here] ) %>
'0',:排序=>??)%>
<%= link_to "0", profiles_path(:bucket => '0', :sorting=>?? ) %>
<%= link_to "0", profiles_path(:bucket => '0', [include sorting and page_size name/values here] ) %>
'0',[此处包括排序和页面大小名称/值]%>
link\u to
还可以生成带有锚或查询字符串的链接:
link_to "Comment wall", profile_path(@profile, :anchor => "wall")
#=> <a href="/profiles/1#wall">Comment wall</a>
link_to "Ruby on Rails search", :controller => "searches", :query => "ruby on rails"
#=> <a href="/searches?query=ruby+on+rails">Ruby on Rails search</a>
link_to "Nonsense search", searches_path(:foo => "bar", :baz => "quux")
#=> <a href="/searches?foo=bar&baz=quux">Nonsense search</a>
链接到“评论墙”,配置文件路径(@profile,:anchor=>“墙”)
#=>
链接到“RubyonRails搜索”,控制器=>“搜索”,查询=>“RubyonRails”
#=>
链接到“无意义搜索”,搜索路径(:foo=>“bar”,:baz=>“quux”)
#=>
如果您想要快速而肮脏的方式,并且不担心XSS攻击,请使用params.merge
保留以前的参数。e、 g
<%= link_to 'Link', params.merge({:per_page => 20}) %>
20})%>
见:
否则,请检查此答案:如果您希望保留现有参数,并且不让自己暴露于XSS攻击,请确保清除参数散列,只保留应用程序可以发送的参数:
# inline
<%= link_to 'Link', params.slice(:sort).merge(per_page: 20) %>
#内联
如果在多个位置使用,请清除控制器中的参数:
# your_controller.rb
@params = params.slice(:sort, :per_page)
# view
<%= link_to 'Link', @params.merge(per_page: 20) %>
#您的_controller.rb
@params=params.slice(:排序,:每页)
#看法
如果您想传入一个块,比如说一个glyphicon按钮,如下所示:
<%= link_to my_url, class: "stuff" do %>
<i class="glyphicon glyphicon-inbox></i> Nice glyph-button
<% end %>
漂亮的字形按钮
您的回答帮助我解决了#1:'0',:sorting=>params[:sorting])%>。谢谢,这是对的。新语法是“可能与密切相关的重复:不要这样做,它会使您面临xss攻击”。@DanielNill-可以吗explain@Yarin这里有一个很好的解释,@Yarin任意将参数打印到用户提交的页面中(不一定要清理)允许某人使用编码Javascript的链接链接到您的站点。然后,Javascript被打印到页面并执行,可能会窃取cookie或执行恶意任务。Rails通常非常擅长清理打印到页面中的内容,但最好是安全的