【问题标题】:Rails link_to path with dynamic variable (read from database)带有动态变量的 Rails link_to 路径(从数据库中读取)
【发布时间】:2013-08-30 20:48:47
【问题描述】:

我目前正在开发一个带有大量引擎的 Rails 应用程序。

我有一些存储在数据库中的引擎根路径的路径。

但是,如果我尝试使用数据库中的值(它存储在 'root_path'-Field 中)和视图中的 link_to 助手链接到它们,我没有得到正确的链接。

这是一个例子(假设数据库中的root_path当前是foo_engine.bar_path

- @engines.each do |engine|
  = link_to engine.name, engine.root_path

代替:

http://localhost:3000/foo_engine.bar_path

我明白了

http://localhost:3000/current_engine/foo_engine.bar_path

提前谢谢你

菲利普

【问题讨论】:

  • 你能在终端里做rake routes并发布结果吗?
  • 谢谢!问题是我想路由到不同的引擎,并且引擎的路径存储在数据库中。
  • 很高兴问题得到解决!
  • 对不起。我只想说谢谢你试图帮助我:-)问题仍然存在:-D

标签: ruby-on-rails ruby ruby-on-rails-3


【解决方案1】:

好的, 我已经找到了解决方案。

随便用

- @engines.each do |engine|
  = link_to engine.name, eval(engine.root_path)

但是 eval 是邪恶的。还有其他方法吗?

【讨论】:

  • 我认为eval 的这种使用是安全的。您没有在用户提交的内容上使用 eval。你试过"/#{engine.root_path}"
  • 感谢您的评论!我刚试过你的建议。 “#/{engine.root_path}”。不幸的是,由于没有触发从 helper-Method 到 url get 的转换,因此它不起作用。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2021-05-20
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2020-10-01
相关资源
最近更新 更多