我想實現類似如下: -如何在link_to中使用ruby變量值作爲「鏈接顯示文本」?
<%= link_to "<%= user.email %>", users_path %>
使每一位用戶的電子郵件ID是用來作爲一個超鏈接到他們的用戶個人資料頁面。
如何實現這一目標? 我正在使用rails 3.0.1。
由於提前
我想實現類似如下: -如何在link_to中使用ruby變量值作爲「鏈接顯示文本」?
<%= link_to "<%= user.email %>", users_path %>
使每一位用戶的電子郵件ID是用來作爲一個超鏈接到他們的用戶個人資料頁面。
如何實現這一目標? 我正在使用rails 3.0.1。
由於提前
唐接近的指數,但users_path是(我相信)指數一個UsersController的動作,所以你不需要(並且實際上不應該傳遞)用戶進入幫助器。
link_to實際上是一個輔助方法,它接受幾個參數。第一個參數是鏈接本身的文本(<a>
和</a>
之間的內容)。您不需要使用您嘗試使用的ERB語法,只需傳遞所需的任何文本(user.email或user.name,無論如何)。
<%= link_to user.email, user_path(user) %>
試試下面的,因爲你要鏈接到一個用戶,而不是所有的用戶
<%= link_to user.email, user_path(user) %>
@Saran:你的問題是Rails 3的,但如果你曾經使用Rails的2,不要忘了到html逃生:用'H(user.email)',而不是'user.email' – Zabba 2010-11-05 18:41:04
通過默認情況下,'users_path'轉到#index操作,所以這個答案實際上會將每個人的電子郵件地址鏈接到(大概是)「所有用戶」頁面。此外,在下面的步驟Don中,'user_path(user)'在本例中是'user'的同義詞,因此整個事物可以簡化爲'<%= link_to user.email,user%>'。 – Eric 2010-11-05 19:41:22
@Eric Hill是的,你說得對。我犯了使用users_path的錯誤,因爲他在原始示例中使用了它,儘管他在他的問題中說他想鏈接到單個用戶頁面而不是所有用戶頁面。更新爲正確的答案。謝謝! – 2010-11-05 20:54:15