gpt4 book ai didi

ruby-on-rails - 如何在 link_to for rails 3.2 中调用存储在字符串变量中而无需 eval 的路径?

转载 作者:太空宇宙 更新时间:2023-11-03 18:20:26 25 4
gpt4 key购买 nike

报价的索引路径是从 var JobshopRfqx.quote_index_path 中存储和检索的。这是变量的定义方式:

JobshopRfqx.quote_index_path = 'jobshop_quotex.quotes_path(:rfq_id => r.id)'

这是有效的 link_to(评估):

<%= link_to t('Quotes'), eval(JobshopRfqx.quote_index_path.to_s) %>

这是无效的 link_to:

<%= link_to t('Quotes'), Rails.application.routes.url_helpers.send(JobshopRfqx.quote_index_path.to_s) %>

这里是错误:

 ActionView::Template::Error:
undefined method `jobshop_quotex.quotes_path(:rfq_id => r.id)' for #<Module:0x42d5c90>

没有 eval,调用字符串路径的正确方法是什么?

最佳答案

如果您想使用send,您必须将方法名称与参数分开传递。你必须做这样的事情:

Rails.application.routes.url_helpers.send('jobshop_quotex.quotes_path', :rfq_id => r.id)

但是,我认为这不会如您所愿。我真的不明白你为什么要这样做......

关于ruby-on-rails - 如何在 link_to for rails 3.2 中调用存储在字符串变量中而无需 eval 的路径?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19470359/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com