yer*_*syl 4 ruby-on-rails ruby-on-rails-4
我试图传递一个变量来渲染像这样:
def monitor
@peripheries = Periphery.where('periphery_type_name=?','monitor')
render 'index', type: 'Monitor'
end
Run Code Online (Sandbox Code Playgroud)
这里我想在索引视图中使用'type'变量,它看起来像这样:
<%= render 'some_partial', periphery_type: type %>
Run Code Online (Sandbox Code Playgroud)
这也是一些东西.但我想使用那个'type'变量
有两种方法可以在控制器和视图之间传递变量:
def monitor
@peripheries = Periphery.where('periphery_type_name=?','monitor')
@type = 'Monitor'
render 'index'
end
Run Code Online (Sandbox Code Playgroud)
Rails会将属于控制器的任何实例变量导出到视图上下文.所以你可以@type在视图中调用或任何部分调用.
def monitor
@peripheries = Periphery.where('periphery_type_name=?','monitor')
render 'index', locals: { type: 'Monitor' }
end
Run Code Online (Sandbox Code Playgroud)
请注意,您需要将哈希值传递给该locals选项.您还需要将局部变量传递给部分视图:
<%= render 'some_partial', locals: { periphery_type: type } %>
Run Code Online (Sandbox Code Playgroud)
使用本地人通常是一个好主意,因为它鼓励分离,并可以使你的部分更可重用.
| 归档时间: |
|
| 查看次数: |
4681 次 |
| 最近记录: |