首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >将变量传递给partial内部的partial

将变量传递给partial内部的partial
EN

Stack Overflow用户
提问于 2015-06-27 21:06:16
回答 3查看 64关注 0票数 0

在view.html.erb中:

代码语言:javascript
运行
复制
<%= render @posts %>

在每个_post.html.erb中:

代码语言:javascript
运行
复制
<%= render partial: 'shared/block', locals: { blockedcallsign: post.user.callsign } %>

在每个_block.html.erb中:

代码语言:javascript
运行
复制
<%= button_to blockrelationships_path(
                params: { 
                  blocker_callsign: @user.callsign, 
                  blocked_callsign: blockedcallsign #'baz'
                },
                remote: true
              ),
              class: 'btn btn-default btn-xs' do %>
  <span class="glyphicon glyphicon-ban-circle" aria-hidden="true"></span>
<% end %>

在_block.html.erb中,我得到了错误:undefined local variable or method 'blockedcallsign'。当我用一个像'baz‘这样的字符串来代替blockedcallsign时,它就能工作了。由于某种原因,被阻止的调用信号没有从_post.html.erb传递到_block.html.erb。代码有什么问题?

EN

回答 3

Stack Overflow用户

发布于 2015-06-27 21:23:53

最新的方法是:

代码语言:javascript
运行
复制
<%= render 'shared/block', { blockedcallsign: post.callsign } %>

作为散列传递。

票数 1
EN

Stack Overflow用户

发布于 2015-06-28 23:32:56

您要查找的语法是

_posts.html.erb中的render 'shared/block', locals: {blockedcallsign: post.callsign}

然后,在_block.html.erb中,您需要调用blockedcallsign而不是@blockedcallsign

票数 1
EN

Stack Overflow用户

发布于 2015-06-29 05:03:37

代码没有任何问题。在view.html.erb中有一个被遗忘的第二个'render‘导致了这个问题。抱歉的。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/31089126

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档