Jer*_*mas 2 ruby-on-rails partial-views
我不确定这里发生了什么,但以下内容会在渲染时引发错误:
<%= render 'clients/clients_table', special: true %>
Run Code Online (Sandbox Code Playgroud)
在我的部分中,我有:
<% if defined?(:special) %>
<p><%= special %></p> <!-- line with error -->
<% else %>
<p>No</p>
<% end -%>
Run Code Online (Sandbox Code Playgroud)
这抛出错误:
undefined local variable or method `special' for #<#<Class:0x007fa20fbb0310>:0x007fa20cb986a0>
Run Code Online (Sandbox Code Playgroud)
当我尝试显示时,local_assigns.has_key?(:special)它也显示false. 知道发生了什么吗?
我总是建议在locals:密钥下而不是直接发送变量。也许试试这个:
<%= render 'clients/clients_table', locals: {special: true} %>
Run Code Online (Sandbox Code Playgroud)
同样在你的部分这defined?(:special)是不正确的,因为它总是真实的
defined?(:special)
#=> "expression"
Run Code Online (Sandbox Code Playgroud)
而是使用local_assigns例如
<% if local_assigns[:special] %>
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
267 次 |
| 最近记录: |