首页
学习
活动
专区
工具
TVP
发布
社区首页 >问答首页 >如何在我的应用程序中处理has_friendship gem?

如何在我的应用程序中处理has_friendship gem?
EN

Stack Overflow用户
提问于 2018-05-29 06:58:15
回答 2查看 469关注 0票数 0

我是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中编辑

代码语言:javascript
复制
  resources :users do
    get 'add_friend'
  end

并在我的users_controller.rb中创建了一个方法

代码语言:javascript
复制
  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。但是,我如何获得我想要成为好友的用户呢?

EN

回答 2

Stack Overflow用户

发布于 2018-05-29 07:29:43

你不需要任何其他的模型,只需要用户的,gem就会生成一个友好的模型

只需将has_friendship插入到模型用户:

代码语言:javascript
复制
class User <ActiveRecord :: Base
   has_friendship
end

方法:

代码语言:javascript
复制
# @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生成。

票数 1
EN

Stack Overflow用户

发布于 2018-05-29 07:30:10

酷-听起来像是一个有趣的宝石!在运行has_friendship生成器之后,您需要运行迁移,这将更改模式表,并且需要将has_friendship添加到User模型中。如果你可以分享更多的代码,那么人们提供帮助就会更容易。

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

https://stackoverflow.com/questions/50574292

复制
相关文章

相似问题

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