我真的很感謝這方面的幫助。Rails,在視圖中顯示模型的名稱而不是id
我如人際關係:
class User < ActiveRecord::Base
has_many :ideas, :class_name => 'Challenge', :foreign_key => 'creator_id'
has_many :contributions, :class_name => 'Challenge', :foreign_key => 'contributor_id'
class Challenge < ActiveRecord::Base
belongs_to :creator, :class_name => 'User'
belongs_to :contributor, :class_name => 'User'
我的問題是能夠顯示的名稱,而不是在挑戰模式意見的用戶的ID。
在控制檯我可以分配給@challenge一個挑戰,然後輸入
@challenge.creator.name
返回的創造者,完美的名稱。但是,當我嘗試把它放在我的視圖中時,它會返回未定義的方法'name'。
我認爲最接近我已經做了正確的事情是讓我挑戰索引視圖的相關部分說的創造者,而不是creator_id:
<tr><% @challenges.each do |challenge| %><tr>
<td><%= challenge.creator %></td>
但不是返回的創建者名稱這就是我想要的視圖,它返回以下輸出:
#<User:0x007fe1b81c20b8>
有誰請解釋爲什麼一個字段顯示這樣的情況以及我如何在我看來,輸出用戶的姓名。
我的挑戰控制器指數動作就是:
@challenges = Challenge.all
非常感謝你。
只是指出。 「它返回以下輸出:」之後沒有輸出。 –
謝謝! – James