Ruby on rails 对对象的所有实例执行以下操作
目前,我在为一个用户显示Follow/unfollow按钮时具有完整的功能。 我能够正确地跟踪和取消跟踪任何用户 但是,当显示所有用户的列表并在每个用户上显示“跟随/取消跟随”按钮时 当我点击follow时,我得到了 对于# 在_unfollow.html.erb的第二行-有关完整错误,请参见下面的照片 我在渲染部分时传入变量Ruby on rails 对对象的所有实例执行以下操作,ruby-on-rails,ruby,relationship,twitter-follow,Ruby On Rails,Ruby,Relationship,Twitter Follow,目前,我在为一个用户显示Follow/unfollow按钮时具有完整的功能。 我能够正确地跟踪和取消跟踪任何用户 但是,当显示所有用户的列表并在每个用户上显示“跟随/取消跟随”按钮时 当我点击follow时,我得到了 对于# 在_unfollow.html.erb的第二行-有关完整错误,请参见下面的照片 我在渲染部分时传入变量 <%= render 'follow_aud_form', :following => following if signed_in? %> sho
<%= render 'follow_aud_form', :following => following if signed_in? %>
show_follow.html.erb
<% @users.each do |following|%>
<div class="span1">
<%= render 'follow_aud_form', :following => following if signed_in? %>
</div>
<% end %>
如果已登录,则显示以下内容?%>
遵循aud表格
<div id="follow_form">
<% if current_user.following?(following) %>
<%= render 'unfollow', :following => following %>
<% else %>
<%= render 'follow', :following => following %>
<% end %>
</div>
以下%>
以下%>
_跟随html
|__<%= @gaza_id = following.id %>__|
<%= form_for(current_user.relationships.build(followed_id: @gaza_id)) do |f| %>
<div><%= f.hidden_field :followed_id %></div>
<%= f.submit "Follow",:type => :image, :src => "/assets/follow.png" %>
<% end %>
|____|
:image,:src=>“/assets/follow.png”%>
_unfollow.html
|__<%= @slim_id = following.id %>__|
<%= form_for(current_user.relationships.find_by_followed_id(@slim_id),
html: { method: :delete }) do |f| %>
<%#= f.submit "Unfollow", class: "btn btn-large" %>
<%= f.submit "Unfollow",:type => :image, :src => "/assets/following.png" %>
<% end %>
|____|
:image,:src=>“/assets/following.png”%>
我也看过
只需尝试将_show_follow.html.erb更改为:
<% @users.each do |following|%>
<div class="span1">
<% f = signed_in? ? following : ''
<%= render 'follow_aud_form', :following => f %>
</div>
<% end %>
我相信您唯一的问题是本地var
:following
不会创建,除非您的用户已登录。建议的更改只是确保本地变量已创建。请检查(并告诉我们)引发错误的行。似乎应该在某个地方您正在执行一些_obj.following(可能是User类中的following?方法)。请提供此方法中的逻辑,以便我检查。我自己经常遇到问题,当我在渲染调用中未显式使用模板
选项时,可能值得指定完整路径并同时使用局部
块。例如,如果已登录,请尝试更改以下内容?%>
到'some_controller/follow_aud_form',:locals=>{:following=>following}如果登录?%%>代码>@RafaelMartinez添加行号和photo@Noz同样的道理,当我尝试“users/_follow_aud_form”时:locals=>{:following=>following}如果登录?%%>也没有:locals如果您不想显示“follow\u aud\u form”,除非用户已登录,您应该使用parentesis:following)(如果已登录?%%>
<% @users.each do |following|%>
<div class="span1">
<% f = signed_in? ? following : ''
<%= render 'follow_aud_form', :following => f %>
</div>
<% end %>