2011-09-24 62 views
3

我想知道如何得到一些動態的能力爲我的導軌傭工(例如的link_to方法,方法。):動態軌道幫手

<h3><%= link_to object.name, ("#{object.class_path.to_s}")_path(object) %></h3> 

在這種情況下,把它扔對象的類變成一個鏈接。我很困惑如何在輔助方法中拋出一個方法。

任何意見將不勝感激!

+1

的代名詞聽起來像是你已經解決了這個問題,但對於您原來的做法備查你將不得不使用像這樣發送:'link_to object.name,send(「#{object.class_path.to_s} _path」,object)' –

+0

啊,它是'發送',明白了。想知道如何工作。 謝謝你的擡頭。 – Galaxy

回答

8

你想鏈接到對象的實例嗎?

<%= link_to object.name, object %> 

Rails可以構建一個#show鏈接。

可以使用polymorphic_path更復雜/嵌套情況:

<%= link_to object.name, polymorphic_path([:edit, @user, object]) %> 

...爲edit_user_#{object.class}_path(@user,object)

+0

我喜歡那個polymorphic_path。歡呼的小費! – Galaxy

+0

polymorphic_path是更好的選擇,我在網上搜索這個主題。 我想@eric只會忘記給我們鏈接到[文檔](http://api.rubyonrails.org/v5.1/classes/ActionDispatch/Routing/PolymorphicRoutes.html) – hguzman

0

我似乎做這個,而不是已經解決了這個:使用url_for代替something_path

<%= link_to object.name, url_for(object) %> 

是否有任何性能或可用性問題?有沒有什麼區別?

+0

不用擔心性能 – ecoologic