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.
问题是它case是Ruby中的保留字,并且在什么时候render @cases,它试图创建一个case在partial中调用的局部变量,这是不允许的.你必须调用local变量.这里的文档解释了如何使用这个例子:
Run Code Online (Sandbox Code Playgroud)# 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
Run Code Online (Sandbox Code Playgroud)
然后在部分情况下,只需使用current_case您将使用该变量的变量case.
| 归档时间: |
|
| 查看次数: |
661 次 |
| 最近记录: |