2016-05-17 6 views
0

は、だから私は、ビューを作成したいRailsの未定義のメソッド「job_app」

def index 
    @users ||= current_user 
    @job_apps = @users.job_app 

end 

それは、ビュー上で完璧に動作します。 2.トラブル(job_app方法未定義):

def empl 
    @users = User.all.where(:user_type => 'candidate') 
    @job_apps = @users.job_app.all 
end 

注:@job_appsずに私も、すべてのユーザーを見ることができます彼らはすべての候補者を見ることができるので、管理者のためのビューを作成します。

+1

あなたは管理者のためのビューを作成しようとしたとき、あなたが "悩み" を持っていると言います。それはまさにその問題ですか?あなたが何が間違っているか教えない限り、私たちはあなたに答えを与えることはできません。エラーメッセージ、コンソール出力、予想動作と実際の動作を送信します。 – MarsAtomic

+0

@MarsAtomic編集 – andrey

答えて

0

私はここで推測のビットを作るつもりです:job_appは確かUserクラスのメソッドですが、どのようなあなたは、コントローラのempl方法で扱っていることはUserのインスタンスではなく、むしろ、 ActiveRecord::Relationのインスタンス。多かれ少なかれUserオブジェクトの配列です。 はUserのメンバーですが、ActiveRecord::Relationではないため、User.job_appが機能します。

目的を達成するには、emplメソッドに関連付けられたビュー内でその配列の要素を繰り返し処理する必要があります。

コントローラコード:

def empl 
    @users = User.all.where(:user_type => 'candidate') 
end 

ビューコード:

<% @users.each do | user | %> 
    <%= user.job_app %> 
<% end %> 
+0

これはハードコアの推測です。 – Raffael

+0

@MarsAtomicこれは動作しますが、もし私が受け入れるか拒否するようなものを作りたいのであれば?私はそれをもう一度扱わなければならないが、私はjob_appsテーブルを更新するlink_toを書く方法がわからない。 – andrey

+0

@andreyあなたが別の質問で欲しいものを書いたら、あなたは答えを得るだろう。できるだけ原子オーダーでスタックオーバーフローに関する質問を残して、誰かが何かを検索したときに、彼らの質問に対する正確な答えを見つけることができます。 – MarsAtomic

関連する問題