これはおそらく非常に基本的な質問ですが、私は何をすべきか理解できません。初心者の質問 - データの問題を見つける
idから無関係なビューでユーザー名を探す必要があります。
私のアプリでは、私の注文は多くのマイルストーンを持っています。マイルストーンモデルとユーザーモデルとの間には関係はありませんが、各マイルストーンには関連ユーザーがあります。私のマイルストーン形式では、私が名前としてユーザーの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
ノーメソッドのエラーを取得します。次のように
私の質問は以下のとおりです。
- は、私はちょうどマイルストーンが同様のユーザーに属して作るべきでしょうか?
- そうでない場合は、ユーザー名を表示するにはどうすればよいですか?
- UPDATE -
私は、私の見解では、これを呼び出すことについて完全に失われたんです。私は下の提案を使用する場合:
milestone_userは整数@user = User.find(:milestone_user)
:
@user = User.find(2)
実際に私たちが必要なもののようなものです。しかし、それは私にエラーを与える。非常に混乱...
- 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を試してみました。find(params [:milestone_id])でもどちらでも動作しません –
そのIDでレコードを検索したい場合は、その方法が最適です。 User.find(params [:milestone_user])を使用してください。 – Hck