Разработать фильтр действий для действий, требующих аутентификации - PullRequest
11 голосов
/ 22 января 2011

Я использую devise для аутентификации, однако не могу увидеть и фильтр действий для определения действий, требующих входа пользователя. Включено ли это в гем devise? если нет, то как я мог бы его создать, у меня вроде есть идея, но, поскольку я новичок в rails, я бы предпочел сначала найти решение от более опытного программиста.

Ответы [ 2 ]

23 голосов
/ 22 января 2011

См. Devise Readme .

class PostsController < ApplicationController
  respond_to :html

  # Tell Devise that the #destroy action is
  #   special, and that the user must be
  #   authenticated in order to access the
  #   #desroy action.
  # Note that the name of the method here,
  #   #authenticate_user!, depends on the
  #   particular class/table that you have
  #   set up to be managed with Devise.
  before_filter :authenticate_user!,
    :only => [:destroy]

  before_filter :find_post!,
    :only => [:destroy]

  def destroy
    @post.destroy
    respond_with @post
  end

  private

  def find_post!
    @post = Post.find(params[:id])
  end
end
0 голосов
/ 24 сентября 2015

Другое решение состоит в том, чтобы использовать, например: кроме => логин, его используют, когда все приложение использует аутентификацию, и вы хотите иметь страницу с открытым доступом

...