【问题标题】:link_to is not working with a variable urllink_to 不使用变量 url
【发布时间】:2012-08-09 01:46:38
【问题描述】:

我有一个使用 link_to 将参数传递给控制器​​的视图。 url 是一个变量。有些东西不工作。我会很感激任何线索。谢谢!

<% url1 = dialogs_path(@dialogId) %>
<%= url1 %>
<%= link_to "Go!", url1(:uid1 => @uid1, :uid2 => @uid2), :id => "my_link" %>

url1 显示正确。但是,执行 link_to 会崩溃。

【问题讨论】:

  • “崩溃”是什么意思?查看堆栈跟踪或某种错误消息会有所帮助。
  • 感谢@BaronVonBraun!我在做这个工作。当呈现包含 link_to 语句的页面时,我得到“我们很抱歉,但出了点问题”。

标签: ruby-on-rails params link-to


【解决方案1】:

您应该改用dialog_path(@dialogId)

您正在尝试查看特定对象,它是单数的,并且是 rails 所期望的。 看看这里: http://guides.rubyonrails.org/routing.html#paths-and-urls

你使用 url 的方式让我很困惑,试试这样:

<%= link_to "Go!", dialog_path(@dialogId, :uid1 => @uid1, :uid2 => @uid2), :id => "my_link" %>

【讨论】:

  • 感谢@Anthony 的帮助!我更正了。我还注意到我有一个错字“url”而不是“url1”,我更正了这个错误,但这也不起作用。我还在调试。再次感谢!
  • 已编辑,尝试我的答案中的语法
  • 我确实使用了 dialog_path(@dialogId) 。谢谢@Anthony!
  • 谢谢! @Anthony,您建议的修复由于某种原因不起作用。我正在使用我不太雄辩的解决方法。
【解决方案2】:

url1应该定义为:

<% url1 = dialogs_path(@dialogId)+'?uid1=' + @uid1 + '&uid2=' + @uid2% , :id => "my_link" %>

link_to 应该是:

<%= link_to "Go!", url1, :id => "my_link" %>

【讨论】:

  • 很老套的方法,你应该能够使用dialog_path helper 添加额外的参数
  • 感谢@AnthonyAlberto 的帮助!但是你有什么建议呢?
  • dialog_path(@dialogId, :uid1 =&gt; @uid1, :uid2 =&gt; @uid2) 。如果它不起作用,请给出您遇到的错误或错误的链接
  • 它不起作用。我会回去看看。感谢@AnthonyAlberto 的帮助!
猜你喜欢
  • 2023-03-30
  • 2013-05-17
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2012-08-16
  • 1970-01-01
  • 2011-05-24
  • 1970-01-01
相关资源
最近更新 更多