我为用户提供了show.html.erb
个文件
在这里我添加部分文件的详细信息为_details.html.erb
在详细页面我有部分_form.html.erb
现在我做了这样的代码。在show.html.erb
user
@user_entry
<%= render :partial => "users/details" ,:locals => {:user => user } %>
在_detail.html.erb
<%= render :partial => "users/form" %>
我有两个user & @user_entry
我希望@user_entry
中的form
变量部分我该怎么办?
谢谢。
答案 0 :(得分:5)
试试这个。
在show.html.erb
User
@user_entry
<%= render :partial => "users/details" ,:locals => {:user => user,:user_entry => @user_entry } %>
而不是尝试访问user_entry
中的_details.html.erb
变量
文件。
答案 1 :(得分:4)
实例变量(前面带有@
符号的变量)在渲染调用之前定义时可用于所有部分。
当您通过locals
时,它们可作为本地变量使用,而不是转发&#34;随后的部分内容。
<强>控制器:强>
class FooController < ApplicationController
def index
@foos = Foo.all
end
end
<强> FOOS / index.html.erb 强>
Template: we have <%= @foos.count %>
<%= render('partial', locals: {foos: @foos, other: 'a value here'}) %>
<强> FOOS / _partial.html.erb 强>
Partial: We have <%= foos.count %> and <%= other %>
<%= render('subpartial', locals: {foos: foos, other: 'another value here'}) %>
<强> FOOS / _subpartial.html.erb 强>
Subpartial: We have <%= foos.count %> and <%= other %>