为什么在浏览器上显示数据时在模板中使用实例变量不好?
例: 的控制器
def show_data
@user = User.all
end
show_data.js.erb
$('#popup_div').html("<%= escape_javascript(render 'view_form', :user => @user) %>");
_view_form.html.erb
<%= user.name %>
什么是user
?我们可以在模板中调用实例(@user
),如:
<%= @user.name %>
<%= user.name %>
和<%= @user.name %>
之间有什么区别?我们为什么要:user => @user
?
答案 0 :(得分:3)
将变量传递给partials比在许多方面使用实例变量要好。一个原因是可以从任何控制器使用partials(DRY原则),因此当您可能没有view_form
定义或以不同方式定义时,您可以稍后从另一个控制器呈现@user
。