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