接收语法错误,意外'=',期望关键字_when代码

San*_*Rao 2 ruby-on-rails ruby-on-rails-3 ruby-on-rails-3.1

我有一个表与用户的has_many关联的案例.我试图通过在用户显示页面中呈现它来显示与用户相关的所有案例.我无法在这里渲染案例.任何帮助,将不胜感激.

我的用户显示页面代码:

 <table >
  <tr>
    <td >
      <h1>
        Welcome <%= current_user.first_name %>  you are <%= current_user.role %>    
      </h1>
    </td>
    </tr>
    <tr>
      <td>
        <% render @cases %>
      </td>
    </tr>
    </table>
Run Code Online (Sandbox Code Playgroud)

在用户中显示控制器:

     def show
    @user = User.find(params[:id])
    @cases = @user.cases
    @title = @user.first_name
    end
Run Code Online (Sandbox Code Playgroud)

我在views/cases中有一个文件_case.html.erb.

Ben*_*Lee 6

问题是它case是Ruby中的保留字,并且在什么时候render @cases,它试图创建一个case在partial中调用的局部变量,这是不允许的.你必须调用local变量.这里文档解释了如何使用这个例子:

# Renders a collection of partials but with a custom local variable name
render :partial => "admin_person", :collection => @winners, :as => :person
Run Code Online (Sandbox Code Playgroud)

在你的情况下,将是:

render :partial => 'case', :collection => @cases, :as => :current_case
Run Code Online (Sandbox Code Playgroud)

然后在部分情况下,只需使用current_case您将使用该变量的变量case.