繁体   English   中英

将参数添加到由字符串定义的路径 - rails

[英]adding params to a path defined by a string - rails

我有以下链接将参数传递给 url,它工作正常。

<%= link_to "Buy", new_buyer_path(plan: 'item_D78387628dd', cost:'$45.00'), class: "btn btn-pink", role: "button" %>

但是,我有第二个链接,它从一个名为 raw_cml 的字符串获取其路径 - raw_cml 可以正常工作而无需添加参数。

举个例子

raw_cml = dashboards/imp/budget_mgmt

<%= link_to "Move", raw_cml(score: '9', question:'8'), class: "btn btn-pink" %>

在此示例中,我收到以下错误:

未定义的方法“raw_cml”

有人可以帮助我朝着正确的方向前进吗?

我不确定,但您可以列出 Rails 应用程序的可用路径,例如:

bundle exec rails routes | grep link

检查link_path是否可以使用。

尝试使用字符串 url 连接参数:

<% fixed_raw_cml = raw_cml + (raw_cml.include?('?') ? '&' : '?') %>
<%= link_to "Move", fixed_raw_cml + { score: '9', question:'8' }.to_query, class: "btn btn-pink" %>

我对此进行了更多研究,发现.to_params 提供了一种单行方法。

<%= link_to "Improve", raw_cml + '?' + { uqr: qid }.to_param, class: "btn btn-pink" %>

似乎给出了相同的结果。

我会对这种方法的任何不可预见的后果感兴趣吗?

谢谢

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM