我有一个视图使用link_to将参数传递给控制器。该网址是一个变量。有些东西不起作用。我会欣赏任何线索。谢谢!link_to无法使用变量url
<% url1 = dialogs_path(@dialogId) %>
<%= url1 %>
<%= link_to "Go!", url1(:uid1 => @uid1, :uid2 => @uid2), :id => "my_link" %>
url1正确显示。但是,执行link_to崩溃。
我有一个视图使用link_to将参数传递给控制器。该网址是一个变量。有些东西不起作用。我会欣赏任何线索。谢谢!link_to无法使用变量url
<% url1 = dialogs_path(@dialogId) %>
<%= url1 %>
<%= link_to "Go!", url1(:uid1 => @uid1, :uid2 => @uid2), :id => "my_link" %>
url1正确显示。但是,执行link_to崩溃。
您应该使用dialog_path(@dialogId)
来代替。
你正在试图查看一个特定的对象,它是单数,什么轨道期望。 看看这里: 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”,我纠正了这一点,但那也不起作用。我仍在调试。再次感谢! – user1388066 2012-08-09 02:26:15
编辑,尝试我的回答中的语法 – 2012-08-09 02:28:38
我没有使用dialog_path(@dialogId)。谢谢@Anthony! – user1388066 2012-08-09 02:30:20
的为url1应定义为:
<% url1 = dialogs_path(@dialogId)+'?uid1=' + @uid1 + '&uid2=' + @uid2% , :id => "my_link" %>
而且的link_to应成为:
<%= link_to "Go!", url1, :id => "my_link" %>
很不好意思的做法,你应该可以使用'dialog_path'助手来添加额外的参数 – 2012-08-09 11:11:10
谢谢@AnthonyAlberto的帮助!但是,你会建议什么? – user1388066 2012-08-09 15:11:08
'dialog_path(@dialogId,:uid1 => @ uid1,:uid2 => @ uid2)'。如果它不起作用,请给出错误信息或错误的链接 – 2012-08-09 15:22:31
“崩溃”是什么意思?看到某种堆栈跟踪或错误消息会有所帮助。 – BaronVonBraun 2012-08-09 01:49:48
谢谢@BaronVonBraun!我在做这个工作。当包含link_to语句的页面被渲染时,我得到“我们很抱歉,但出了问题”。 – user1388066 2012-08-09 02:29:06