Active Record Query

I have a Projects View that shows a list of all projects... I want to
be able to say per project if the currently signed in user is a member
or not, and what there role is...

In the project View I have:
<% if team_member?(project.id, current_user) %>
  <td>Request to Join</td>
<% else %>
  <td>Already Joined</td>
<% end %>

then the helper:

module ProjectsHelper
  def team_member?(project_id, current_user)
     if
current_user.permissions.find_by_project_id(project_id).role.try(:name).nil?
          true
     else
          false
     end
  end
end

*** But that errors. Can you help me out?

Models:
permission.rb

class Permission < ActiveRecord::Base
    belongs_to :user
    belongs_to :project
    belongs_to :role
end
project.rb

class Project < ActiveRecord::Base

    has_many :permissions
    has_many :users, :through => :permissions

end
role.rb

class Role < ActiveRecord::Base
    has_many :permissions
end
user.rb

class User < ActiveRecord::Base

    belongs_to :instance
    has_many :books
    has_many :permissions
    has_many :projects, :through => :permissions

Error is undefined method `roles' for nil:NilClass

I think the problem is come from this line:
current_user.permissions.find_by_project_id(project_id).role.try(:name).nil ?

And I am thinking if using try then it doesn't need to use .nil.
You can run this query in console to debug it.

Cheers,
Lecky Lao