我是rails的新手,我希望我的用户能够彼此成为朋友,所以我找到了gem has_friendship github: has_friendship。我在rails c控制台中执行了说明并测试了所有内容。一切都运行得很好。但现在我有点困惑如何在我的应用程序中处理它,以及如何将它集成到我的应用程序中。我是否需要额外的友情控制器/模型/视图,或者在哪里可以定义像@user1.friend_request(@user2)
这样的方法,以及如何获得user2的id?
非常感谢!
更新
例如:我想用一个链接来显示我的user index.html.erb中的每个用户。但是我如何才能通过按下这个链接来触发friend_request
方法呢?
<% @users.each do |user| %> <h1><%= user.username %> <%= link_to "Add Friend", user_add_friend_path(:user_id) %></h1> <%end%>
我还在我的routes.rb中编辑
resources :users do
get 'add_friend'
end
并在我的users_controller.rb中创建了一个方法
def add_friend
if current_user.friend_request(@friend)
redirect_to users_path, notice: "Friend request successfully sent."
else
redirect_to users_path, notice: "There was an error sending the friend request"
end
end
现在我收到了一个朋友错误,因为我还没有定义@ noMethod。但是,我如何获得我想要成为好友的用户呢?
发布于 2018-05-29 07:29:43
你不需要任何其他的模型,只需要用户的,gem就会生成一个友好的模型
只需将has_friendship插入到模型用户:
class User <ActiveRecord :: Base
has_friendship
end
方法:
# @mac sends a friend request to @dee
@ mac.friend_request (@dee)
# @dee can accept the friend request
@ dee.accept_request (@mac)
# @dee can also decline the friend request
@ dee.decline_request (@mac)
# @dee removes @mac from its friends
@ dee.remove_friend (@mac)
它们由gem生成。
发布于 2018-05-29 07:30:10
酷-听起来像是一个有趣的宝石!在运行has_friendship
生成器之后,您需要运行迁移,这将更改模式表,并且需要将has_friendship
添加到User
模型中。如果你可以分享更多的代码,那么人们提供帮助就会更容易。
https://stackoverflow.com/questions/50574292
复制相似问题