相关疑难解决方法(0)

Rails:在link_to中保留GET查询字符串参数

我的应用程序中有一个典型的搜索工具,它返回一个结果列表,可以对其进行分页,排序,使用不同的records_per_page值进行查看等.每个选项都由查询字符串中的参数控制.一个简化的例子:

/search?q=test&page=2
Run Code Online (Sandbox Code Playgroud)

现在说我需要显示一组将records_per_page值设置为10,20,30的链接.每个链接必须包含现有的查询参数,这些参数可以是一个非常长的集合,加上一个新的per_page参数.

/search?q=test&page=2& ... &per_page=10
/search?q=test&page=2& ... &per_page=20
/search?q=test&page=2& ... &per_page=30
Run Code Online (Sandbox Code Playgroud)

是否有一个简单的方法只使用link_to帮助器或我需要以某种方式解析并重现先前请求的查询字符串?

parameters routing ruby-on-rails helpers

45
推荐指数
3
解决办法
3万
查看次数

link_to与url一起发送参数并在目标页面上抓取它们

我如何在页面上有一个链接,将用户带到另一个URL并传递参数和目标网址,我们如何获取该参数.

通常我添加如下链接:

 <%= link_to "Add Product", '/pages/product' %>
Run Code Online (Sandbox Code Playgroud)

但是如何与此网址一起发送参数?我可以在目标动作中选择它们吗?using params[:parm_name]

ruby-on-rails

42
推荐指数
1
解决办法
6万
查看次数

如何在rails中为当前URL添加参数

我有一个逻辑,我允许对价格和相关性进行排序.我这样做是通过将参数传递给控制器​​.我的网址有一个参数 - 'sort',它可以有一个值 - 'price_lowest'或'default'.链接看起来像:

<a href="<%= request.fullpath + '&sort=price_lowest' %>">lowest prices</a> | 
<a href="<%= request.fullpath + '&sort=default' %>">relevance</a>
Run Code Online (Sandbox Code Playgroud)

上面代码的问题是它"添加"参数并且不"替换"它们.我想在不添加新值的情况下替换&sort =参数的值.我不想要:

../&sort=price_lowest&sort=price_lowest&sort=default
Run Code Online (Sandbox Code Playgroud)

根据当前的逻辑 - 我得到了上述行为.有什么建议 ?

ruby-on-rails

24
推荐指数
3
解决办法
4万
查看次数

params.merge和跨站点脚本

我正在使用Brakeman识别安全问题.它标记了params.merge用作跨站点脚本漏洞的任何链接.我该如何清理以下内容?

  - @archives.each do |archive|
    =  link_to "FTP", params.merge(:action => :ftp, :archive => archive, :recipient => "company")
Run Code Online (Sandbox Code Playgroud)

security xss ruby-on-rails

15
推荐指数
1
解决办法
4372
查看次数

Rails:更改区域设置和保留页面参数

我有一个导航栏,其中包含指向不同语言的链接:

<%= link_to t('header.english'), locale: "en" %>
Run Code Online (Sandbox Code Playgroud)

问题是当用户尝试在包含URL中的其他参数的页面上切换语言时.此时更改语言环境会重新加载页面并删除所有其他参数.

那么,如何将所有参数从当前页面传递到语言环境切换链接?

例如,何时

/page/new?param1=1&param2=2
Run Code Online (Sandbox Code Playgroud)

打开,用户切换语言环境,

/page/new?locale=en
Run Code Online (Sandbox Code Playgroud)

打开,两个附加参数都从网址中删除.

ruby-on-rails internationalization

7
推荐指数
2
解决办法
3691
查看次数

通过rails中的链接将文本附加到当前URL

让我们说用户所在的当前页面是:

http://0.0.0.0:3000/posts?direction=asc&sort=title
Run Code Online (Sandbox Code Playgroud)

按标题排序升序.

现在假设我有一个搜索引擎,如果您搜索"鸡",例如,网址可能是:

http://0.0.0.0:3000/posts?direction=asc&search=chicken&sort=title
Run Code Online (Sandbox Code Playgroud)

但是我不想搜索,而是想建立一个链接,例如<a href="CODE HERE">Show all results for chicken</a>将&search = chicken追加到url,或者如果搜索已经有值,则替换它.

这可能吗?

ruby ruby-on-rails ruby-on-rails-3

1
推荐指数
1
解决办法
1132
查看次数