局部行为导致意外的部分渲染
我有一个带有 yeild 块的部分,我使用 content_for 设置它,当我渲染部分时,我也尝试传递局部变量。当地人永远不会被部分接载。
<%= render :partial => 'shared/block', :locals => { :cssclass => 'medium' } %>
当我尝试使用
<%= :cssclass %>
All 访问部分时,我得到的是裸露的“cssclass”作为字符串,而不是我设置它的变量。不能同时使用 content_for 和渲染部分吗?
更新 我尝试使用局部变量渲染部分内容,没有产量或 content_for,并且我在渲染部分内容时设置的值被拾取。我有什么遗漏的吗?
I have a partial with yeild blocks, which I set using content_for, when I render partial I am also trying to pass in locals. The locals never get picked up in the partial.
<%= render :partial => 'shared/block', :locals => { :cssclass => 'medium' } %>
When I try to access the partial using
<%= :cssclass %>
All I get is the bare "cssclass" as a string rather than the variable I have set it to. Can you not use content_for and render partial at the same time?
Update
I tried rendering a partial with locals, no yield or content_for and the the values I setup while rendering the partial are getting picked up. Is there something I am missing?
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(1)
使用 <%= cssclass %>;而不是符号。本地设置一个变量,而不是符号,当您输出符号时,它只是转换为字符串。
use <%= cssclass %> instead of symbol. locals set a variable, not a symbol, and when you output symbol it is just converted to string.