has-friendship / has_friendship

Add friendship to ActiveRecord models
MIT License
198 stars 98 forks source link

Clarification in the docs #15

Closed Brantron closed 8 years ago

Brantron commented 8 years ago

Hey, first off, THANKS! This gem is awesome

One Issue I am having (due to the fact I'm new to rails and Ruby, not an issue with your gem) is implementing it in a form.

Could you provide an example of how one would implement it from controller to view? for example, I have the following.

<% @users.each do |user| %>
      <% if user.pending_friends %>

      <%= form_tag @user.accept_request(user), method: :post, remote: true do %>
      <%= button_tag 'Accept Friend Request', class: 'btn btn-primary' %>

      <%= form_tag @user.decline_request(user), method: :post, remote: true do %>
      <%= button_tag 'Deny Friend Request', class: 'btn btn-primary' %>

      <% end %>
<% end %>

and the first form tag throws undefined method `update' for nil:NilClass

the controller is bellow

class FriendsController < ApplicationController
  before_action :set_user, :authenticate_user!
  respond_to :js

  def show
    @users = User.near(@user.address, 30)
    @user = current_user
  end
  def update
  end
  private
  def set_user
    @user = current_user
  end
end

I can submit a PR for documentation once I know what the proper implementation use

sungwoncho commented 8 years ago

To me, your use of form_tag looks incorrect. I think the first argument should be url_for_options. (see here). Rather than supplying @user.accept_request(user) as the first argument to your form_tag, I think you want to use it in your controller.

Let me know if you already solved this.

Pensarfeo commented 8 years ago

I guess this issue has been solved by Branton and it does not relate the gem itself so I will close it.