【发布时间】:2016-08-06 15:17:20
【问题描述】:
我一直在学习 Follower Tutorial 的教程,但我不断收到错误未定义方法 `find_by_username' 的行。
<%= render '/components/follow_button', :user => User.find_by_username(params[:id]) %>
show.html.erb
<%= render '/components/follow_button', :user => User.find_by_username(params[:id]) %>
<div class="panel panel-default">
<div class="panel-body">
<h5 style="color: grey; font-size: 125%;">Who to follow</h5>
<% for @u in @toFollow do %>
<p style="font-weight: bold; opacity: 0.85;" ><a href="/user/<%= @u.username %>"><%= @u.username %></a></p>
<% end %>
</div>
</div>
用户.rb
def unfollow(other)
active_relationships.find_by(followed_id: other.id).destroy
_follow_button.html.erb
<% if current_user.id != user.id %>
<div class="panel panel-default">
<div class="panel-body">
<center>
<% if !current_user.following?(user) %>
<%= form_for(current_user.active_relationships.build) do |f| %>
<div><%= hidden_field_tag :followed_id, user.id %></div>
<%= f.submit "Follow", class: "btn btn-primary" %>
<% end %>
<% else %>
<%= form_for(current_user.active_relationships.find_by(followed_id: user.id),
html: { method: :delete }) do |f| %>
<%= f.submit "Unfollow", class: "btn" %>
<% end %>
<% end %>
</center>
</div>
</div>
我已经搞砸了很多年,但无法解决。任何帮助,将不胜感激。随时询问更多代码等。
【问题讨论】:
-
您可以发布
User模型的架构/迁移文件吗? -
请注意,您正在尝试根据用户名查找用户,但您传递的是 id
User.find_by_username(params[:id]。不过,这可能不是您的错误的原因。