2012-08-09 54 views
0

我有一個視圖使用link_to將參數傳遞給控制器​​。該網址是一個變量。有些東西不起作用。我會欣賞任何線索。謝謝!link_to無法使用變量url

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

url1正確顯示。但是,執行link_to崩潰。

+0

「崩潰」是什麼意思?看到某種堆棧跟蹤或錯誤消息會有所幫助。 – BaronVonBraun 2012-08-09 01:49:48

+0

謝謝@BaronVonBraun!我在做這個工作。當包含link_to語句的頁面被渲染時,我得到「我們很抱歉,但出了問題」。 – user1388066 2012-08-09 02:29:06

回答

0

您應該使用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" %> 
+0

感謝@Anthony的幫助!我糾正了這一點。我還注意到,我有一個拼寫錯誤的「url」而不是「url1」,我糾正了這一點,但那也不起作用。我仍在調試。再次感謝! – user1388066 2012-08-09 02:26:15

+0

編輯,嘗試我的回答中的語法 – 2012-08-09 02:28:38

+0

我沒有使用dialog_path(@dialogId)。謝謝@Anthony! – user1388066 2012-08-09 02:30:20

0

的爲url1應定義爲:

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

而且的link_to應成爲:

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

很不好意思的做法,你應該可以使用'dialog_path'助手來添加額外的參數 – 2012-08-09 11:11:10

+0

謝謝@AnthonyAlberto的幫助!但是,你會建議什麼? – user1388066 2012-08-09 15:11:08

+0

'dialog_path(@dialogId,:uid1 => @ uid1,:uid2 => @ uid2)'。如果它不起作用,請給出錯誤信息或錯誤的鏈接 – 2012-08-09 15:22:31