這可能是一個非常基本的問題,但我不知道該怎麼做。新手問題 - 查找數據問題
我需要從無關視圖中的ID中找到用戶名。
在我的應用程序中,我的訂單有很多里程碑。雖然Milestone模型和用戶模型之間沒有關係,但每個Milestone都有關聯的用戶。在我的里程碑形成,我用下面的搶用戶ID和顯示爲一個名字:
<%= f.input :milestone_user, :as => :select, :multiple => false, :input_html => { :size => 1 }, :label => "", :collection => User.find(:all, :order => "name ASC") %>
然而,在我的節目里程碑的看法,我只能看到一個ID。
爲了顯示的名字,我是想在控制檯這樣的測試:
@user = User.where(:id => 2)
但是當我運行:
@user.name
我得到一個無方法錯誤。
我的問題如下:
- 我應該做的里程碑屬於用戶呢?
- 如果不是,顯示用戶名的最好方法是什麼?
- 更新 -
我完全失去了約在我看來調用此。如果我使用下面的建議:
@user = User.find(2)
其實我們需要的是這樣的:
@user = User.find(:milestone_user)
凡milestone_user是一個整數。但是那給了我錯誤。很迷茫......
- UPDATE 2 -
在我的索引視圖,我實際使用表生成器中顯示的信息。爲了簡單起見,我刪除了額外的代碼。我家#索引視圖包含:
<% for milestone in orders %>
<li><%= link_to milestone.name, milestone_path(milestone.id), { 'data-href' => milestone.notes, :class => 'selector' } %></li>
<li><%= @users.name %> </li>
<% end %>
而且我家的控制器:
@milestones = Milestone.all
@users = User.find(params[:milestone_user])
感謝您的幫助。這工作。這是做這件事的最好方法嗎? –
我該如何翻譯此以使用我的里程碑中的ID?已經嘗試了User.find(:milestone_id)和User。找到(params [:milestone_id]),但都不工作 –
如果你想通過它的id找到一條記錄,那麼它是最好的辦法。你應該使用User.find(params [:milestone_user])。 – Hck