在view.html.erb中:
<%= render @posts %>在每个_post.html.erb中:
<%= render partial: 'shared/block', locals: { blockedcallsign: post.user.callsign } %>在每个_block.html.erb中:
<%= 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。代码有什么问题?
发布于 2015-06-27 21:23:53
最新的方法是:
<%= render 'shared/block', { blockedcallsign: post.callsign } %>作为散列传递。
发布于 2015-06-28 23:32:56
您要查找的语法是
_posts.html.erb中的render 'shared/block', locals: {blockedcallsign: post.callsign}
然后,在_block.html.erb中,您需要调用blockedcallsign而不是@blockedcallsign
发布于 2015-06-29 05:03:37
代码没有任何问题。在view.html.erb中有一个被遗忘的第二个'render‘导致了这个问题。抱歉的。
https://stackoverflow.com/questions/31089126
复制相似问题