Ruby何时使用并将参数传递给函数?

时间:2018-02-17 22:41:36

标签: ruby-on-rails ruby ruby-on-rails-3

如果请求格式为html或json,我想在验证方法中重定向用户,但总是只显示请求的json格式。

我已经将(html和json)作为参数传递了! 有人知道这是否是传递参数的正确方法?

def authenticate_user!(html,json)
    if request.format.html? && current_user.nil? 
      redirect_to login_url, notice: "Not authorized" 
    else 
       request.format.json? && current_user.nil? 
      redirect_to download_url, notice: "you need download the file first"

    end

  end

1 个答案:

答案 0 :(得分:0)

您无需添加参数。控制器知道格式。

def authenticate_user!
  if current_user.nil?
    respond_to do |format|
      format.html { redirect_to login_url, notice: 'Not authorized' }
      format.json { redirect_to download_url, notice: "You need download the file first" }
    end
  end
end