以下是我视图中调用partial的代码:
<%= render(:partial => "tabs", :locals => {:class_Name => "Science", :y => 36}) %>
Run Code Online (Sandbox Code Playgroud)
现在这里是_tabs.html.erb中的内容:
<div>
<h1> <%= class_Name %> </h1>
</div>
Run Code Online (Sandbox Code Playgroud)
我希望HTML输出:
<div>
<h1> Science </h1>
</div>
Run Code Online (Sandbox Code Playgroud)
但相反,我得到错误:
undefined local variable or method `class_Name' for #<#<Class:0x007f873b156c28>:0x007f873b1f9540>
Run Code Online (Sandbox Code Playgroud)
我已关闭并重新启动Aptana(我使用的IDE),并多次重启服务器
在此先感谢您的时间.
MFa*_*mer 57
我注意到如果我在部分路径之前没有包含'partial:',就像这样:
<%= render 'my_partial', :locals => {:class_Name => "Science", :y => 36} %>
Run Code Online (Sandbox Code Playgroud)
我被要求在我的部分中使用哈希+符号来访问所需的值,正如其他人所指出的那样.
<div>
<h1> <%= locals[:class_Name] %> has a y value of <%= locals[:y] %></h1>
</div>
Run Code Online (Sandbox Code Playgroud)
但是,在我的部分路径之前包括'partial:':
<% render partial: 'my_partial', :locals => {:class_Name => 'Science', :y => 36 } %>
Run Code Online (Sandbox Code Playgroud)
...允许我直接调用哈希值.
<div>
<h1><%= class_Name %> has a y value of <%= y %></h1>
</div>
Run Code Online (Sandbox Code Playgroud)
请记住这个问题,当我尝试将本地哈希发送给我的部分时,这个问题让我失去了一段时间.
Mon*_*dia 21
如果您partial:在渲染中使用该术语,例如:
<% render partial: 'your_partial', locals: {foo: 'Biggs', bar: 'Wedge'} %>
那么你的当地人将可以简单地foo和bar直接通俗易懂这样的:
<%= foo %> //returns Biggs
<%= bar %> //returns Wedge
Run Code Online (Sandbox Code Playgroud)
但是,如果您不在partials:渲染中使用该术语,例如:
<% render 'your_partial', locals: {foo: 'Biggs', bar: 'Wedge'} %>
然后您的当地人将成为会员locals,因此可以访问:
<% locals[:foo] %> //returns Biggs
<% locals[:bar] %> //returns Wedge
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
13880 次 |
| 最近记录: |