2012-02-29 1 views
2

私はユーザーにhas_many関連のあるケースを持っています。ユーザーショーページでレンダリングして、ユーザーに関連するすべてのケースを表示しようとしています。私はここに事件を描けません。どんな助けもありがとう。構文エラーが発生しました。予期しない '='、コードのためのkeyword_whenを予期しています。

ユーザーのショーのページのための私のコード:ユーザーが

<table > 
    <tr> 
    <td > 
     <h1> 
     Welcome <%= current_user.first_name %> you are <%= current_user.role %>  
     </h1> 
    </td> 
    </tr> 
    <tr> 
     <td> 
     <% render @cases %> 
     </td> 
    </tr> 
    </table> 

表示コントローラ:

 def show 
    @user = User.find(params[:id]) 
    @cases = @user.cases 
    @title = @user.first_name 
    end 

私はビュー/ケース内のファイル_case.html.erbを持っています。

答えて

6

caseはRubyの予約語で、render @casesの場合、部分的にcaseというローカル変数を作成しようとしていますが、これは許可されていません。ローカル変数を別のものに呼び出さなければなりません。 docs hereはどのようにこの例で説明していますでしょう、あなたの場合は

# Renders a collection of partials but with a custom local variable name 
render :partial => "admin_person", :collection => @winners, :as => :person 

部分場合
render :partial => 'case', :collection => @cases, :as => :current_case 

そして、ちょうどあなたがそうだろう変数current_caseを使用します変数caseを使用しました。

+0

データベースでも変更する必要がありますか? –

+0

いいえ、この行以外の部分は変更する必要はありません(部分的に、ローカル変数 'case'を使用した場合は' current_case'を使用してください)。 –

+0

(ただし、モデル「ケース」を呼び出すと、今後同様の問題が発生する可能性があることに注意してください) –

関連する問題