I have links in a users page where I keep getting redirected to home page if I'm not the signed in user.
routes.rb
resources :users, only: [:show] do
resources :interests, only: [:create]
member do
get 'interests'
get 'likes'
get 'followers'
get 'following'
end
end
views/users/show.haml
= link_to user_path do
User
= link_to likes_user_path do
Likes
= link_to followers_user_path do
Followers
= link_to following_user_path do
Following
If I'm viewing my own user page, all links work. But if I'm viewing someone else's page, only the user_path
work correctly, but the other links just redirects me to home page as if I can't access it unless I'm the signed in user.
users_controller.rb
class UsersController < ApplicationController
before_filter :authenticate_user!
load_and_authorize_resource
def show
@user = User.friendly.find(params[:id])
end
end
I find it odd that I don't even need to have a method for likes
, following
, and followers
in my controller?
Those links are directing to these pages:
views/users/likes.haml
views/users/following.haml
views/users/followers.haml