ユーザーに rolify メソッドを適用しようとすると、次のエラーが発生します。
undefined method `has_role?' for nil:NilClass
current_user はすべてのビューでアクセスできるグローバル メソッドである必要があるため、理由がわかりません。どうしてゼロになることができますか?
ありがとう!
コントローラ
def show
@photo = Photo.friendly.find(params[:id])
impressionist(@photo)
@photos = Photo.latest_photos
@user = @photo.user
@pin = Pin.new
@pin.photo_id = @photo.id
@category = Category.all
@commentable = @photo
@comments = @commentable.comments
@comment = Comment.new
@sponsors = @photo.sponsors
@zone = Zone.all
respond_to do |format|
format.html #show.html.erb
format.json {render json: @photo}
end
end
私の見解
<% if current_user.has_role? :admin %>
<%= link_to "Eliminar", user_photo_pin_path(user_id: @user.id, photo_id: @photo.id, id: pin.id) , method: :delete, data: { confirm: 'Quieres borrar esto?'}, class: "delete right" %>
<%= link_to 'Editar', edit_user_photo_pin_path(user_id: @user.id, photo_id: @photo.id, id: pin.id), :class=> "link", class: "edit quarter_margin_right right" %>
<% end %>
<% end %>