У Вас нету политики для данных методов в ability.rb
Как-то так:
# ability.rb
...
elsif user && user.role?(:user)
...
can :read, :tags
# posts_controller.rb
def withtag
authorize! :read, :tags
if params[:tag]
@posts = Post.tagged_with(params[:tag]).order('created_at DESC')
@tagname = params[:tag]
@tag = Tag.find_by_name(params[:tag])
end
end
Если к этому экшену не нужная проверка на авторизацию, то можно ее пропусти в контроллер, так:
skip_authorize_resource :only => : withtag
Или же, можно использовать на load_and_authorize_resource :except, :only
load_and_authorize_resource :only => [:index, :show]
А вообще лучше изучать доки на githube у гема)
В вашем случае
раз и
два