如何從Rails 3中的ID獲取用戶名? 在我看來,我打電話給<%= blog.user_id%>這個ID,但是如何得到這個名字呢?Rails 3通過ID獲取用戶名
控制器是默認腳手架。
映入眼簾,
馬克
如何從Rails 3中的ID獲取用戶名? 在我看來,我打電話給<%= blog.user_id%>這個ID,但是如何得到這個名字呢?Rails 3通過ID獲取用戶名
控制器是默認腳手架。
映入眼簾,
馬克
確保您在Blog
模型中定義的關聯。
belongs_to :user
,然後在看你可以使用<%= blog.user.name %>
您應該使用<%= blog.user.name %>
和您的博客模型定義
belongs_to :user
。您應該在視圖級別上使用..._id
。
通常你想避免像post.user.name點的長鏈。嘗試:
class Post < ActiveRecord::Base
belongs_to :user
delegate :name, :to => :user, :prefix => true
end
然後在你的觀點,你可以調用
@post.user_name
,以獲得用戶名。我想我會把它扔到那裏,因爲它的好習慣我也試圖包含在我的代碼中。
使用嘗試<%= blog.user.try(:名稱)%>
我已經做了,但我得到一個錯誤: 未定義的方法'名稱」 「#<用戶:0x00000102b7a630>」:用戶 該名稱保存在用戶名中。當我將其更改爲用戶名時,錯誤爲: 未定義的方法'用戶名'爲零:NilClass – Maaaark 2011-04-22 13:21:30
在這種情況下,我還懷疑您有一個沒有關聯用戶的博客實例。爲了避免這個錯誤,你可以使用:'<%= blog.user.try(:username)%>'。 – 2011-04-22 14:40:28
偉大的工作對我來說!我忘了刪除沒有用戶標識的舊博客文章。刪除它們後,您的第一個解決方案也可以運行謝謝! – Maaaark 2011-04-22 15:36:46