-1

我的应用程序控制器中有一个辅助方法,并且根据请求格式我想返回不同的东西。这是方法。

def require_facebook_sign_in!
    session[:return_to] = request.url
    unless current_user
      respond_to do |format|

        format.html {redirect_to "/auth/facebook"}
        format.json { status :created , :callback => params[:callback] }
      end

    end
  end

我收到以下错误。我对其进行了调试,并为 respond_to do |format| 引发了此错误

argumentError(参数数量错误(0 为 2)):
app/controllers/application_controller.rb:16:in require_facebook_sign_in!'block (2 levels) in require_facebook_sign_in!'
app/controllers/application_controller.rb:13:in

为什么respond_to无法访问辅助方法中的格式

4

1 回答 1

0

我解决了这个问题。

我在渲染 json 中缺少一个参数

正确的方法是这个 format.json { render json: "errors", status: :unprocessable_entity, :callback => params[:callback] }

于 2012-10-12T03:57:49.500 回答