我有一个 Cases 表,它与用户有 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>
在用户中显示 Controller :
def show
@user = User.find(params[:id])
@cases = @user.cases
@title = @user.first_name
end
我在 View /案例中有一个文件 _case.html.erb。
最佳答案
问题是 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
然后在 case partial 中,只需使用变量 current_case
,否则您将使用变量 case
。
关于ruby-on-rails - 收到语法错误,意外 '=',代码需要 keyword_when,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9503399/