2016-09-03 4 views
1

approval.html.erbのRails:未定義のメソッドエラー時に移動コードビューからヘルパーファイルへ

<% @approval.each do |approval| %> 
    <td><%= Material.find_by_id(approval.material_id).m_name%></td> 
<% end %> 

で私が承認ヘルパーファイルにMaterial.find_by_id(approval.material_id)を移動したいです。その後approval_helper.rb

def approval_material 
    Material.find_by_id(approval.material_id) 
end 

、私はしかしapproval.html.erb

<% @approval.each do |approval| %> 
    <td><%= approval_material.m_name%></td> 
<% end %> 

を変更し、それは私にエラーを示し

未定義のローカル変数やメソッド `承認 '

エラーの原因は何ですか?どのように修正するのですか?ありがとう

+1

''デフ(承認)をapproval_material 'と' <%= approval_material(承認).m_name%>。 –

答えて

3

パラメータをヘルパーメソッドapproval_materialメソッドに渡す必要があります。以下のような何か:

def approval_material(approval) 
    Material.find_by_id(approval.material_id) 
end 

そして、あなたのビューにあなたが好きそれを呼び出すことができます。

<% @approval.each do |approval| %> 
    <td><%= approval_material(approval).m_name%></td> 
<% end %> 
+0

ありがとう、本当に役に立ちました。 –

+0

ハッピーに助けてください:) –

関連する問題