似乎在控制器的操作(方法)中设置多个实例变量会导致模板出现问题,只有第一个实例变量才会传递给模板.有没有办法将多个变量传递给模板?谢谢!为什么,从
Ruby的角度来看,模板是否可以访问动作中的实例变量?
解决方法
您可能还想查看render的:locals选项.它接受哈希,使得键是映射到模板中的局部变量名称的符号,值是将这些局部变量设置为的值.
例:
render "show",:locals => {:user => User.first,:some_other_variable => "Value"}
和这个模板
User ID: <%= user.id %><br> Some Other Variable: <%=some_other_variable%>
将产生:
User ID: 1<br> Some Other Variable: Value
当您在多个控制器上重复使用部分时.使用:locals选项设置局部变量比使用实例变量更简单,更干燥.