Rails - 设计,是否可以使用user_signed_in?没有authenticate_user!?

时间:2012-09-11 14:45:04

标签: ruby-on-rails-3 devise

我在铁轨上做了一种记事本。主页面具有此表单,用于仅包含“content”字段的注释。每个人都可以创建一个注释,但我正在尝试使用设计添加身份验证,以便用户可以注册并保存他们的注释。

所以我的网站控制器的索引为uniq方法

站点控制器

def index
  @note = Note.new
end

然后是带有创建操作的笔记控制器

注意控制器

def create
  @note = if user_signed_in?
    current_user.notes.build(params[:note])
  else
    Note.new(params[:note])
  end

  respond_to do |format|
    if @note.save
      format.js
    else
      format.js
    end
  end
end

我虽然这样可行但是设计助手似乎只在我添加

时起作用
  before_filter :authenticate_user!

在我需要的控制器上。

是否可以检查是否有没有before_filter的用户?或者我应该制作2个创建方法?

1 个答案:

答案 0 :(得分:2)

作为一种解决方法,您可以尝试在过滤前添加此内容:

before_filter :authenticate_user!, :only => []

它可能会添加帮助程序(如果它确实需要)但不适用于任何操作。