Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/ruby/23.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Ruby on rails Rails-参数数目错误(:force=>true?)_Ruby On Rails_Ruby_Ruby On Rails 3_Devise - Fatal编程技术网

Ruby on rails Rails-参数数目错误(:force=>true?)

Ruby on rails Rails-参数数目错误(:force=>true?),ruby-on-rails,ruby,ruby-on-rails-3,devise,Ruby On Rails,Ruby,Ruby On Rails 3,Devise,我有一个before_过滤器,它通常会验证每个控制器;然而,我不使用它的某个控制器。但是,当我从那个控制器访问一个特定的操作时,出于某种原因,我会得到一个错误:Rails-错误的参数数:force=>true?用于身份验证。我在方法中添加了一个参数,以查看传递给该方法的内容,并将其视为参数{:force=>true}。这不会发生在任何其他控制器操作上 这是我的错误 ArgumentError in RegistrationsController#edit wrong number of arg

我有一个before_过滤器,它通常会验证每个控制器;然而,我不使用它的某个控制器。但是,当我从那个控制器访问一个特定的操作时,出于某种原因,我会得到一个错误:Rails-错误的参数数:force=>true?用于身份验证。我在方法中添加了一个参数,以查看传递给该方法的内容,并将其视为参数{:force=>true}。这不会发生在任何其他控制器操作上

这是我的错误

ArgumentError in RegistrationsController#edit

wrong number of arguments (1 for 0)
Rails.root: *

Application Trace | Framework Trace | Full Trace
app/controllers/application_controller.rb:6:in `authenticate_user!'
这是我的路线,我正在尝试访问

edit_user_registration GET    /users/edit(.:format)                                    registrations#edit
这是我的控制器

class RegistrationsController < Devise::RegistrationsController

  def build_resource(*args)
    super
    if session[:omniauth]
      @user.apply_omniauth(session[:omniauth])
      @user.valid?
    end
  end

  def edit_password
  end
end
这里是before_filter方法

class ApplicationController < ActionController::Base
  protect_from_forgery

  private

    def authenticate_user!
        unless signed_in?
            redirect_to '/users/sign_in'
        end
    end
end
顺便说一句,线路是由Deviate提供给我的

过滤器是由Deviate提供的,所以不要试图弯曲它

在需要的控制器中使用它

如果您正在查找未经身份验证的用户,则可以在路由文件中执行此操作

希望下面的部分已经设定

devise_for :users, :controllers => {:registrations => "registrations", :sessions => "sessions"}
过滤器是由Desive提供的,所以不要试图弯曲它

在需要的控制器中使用它

如果您正在查找未经身份验证的用户,则可以在路由文件中执行此操作

希望下面的部分已经设定

devise_for :users, :controllers => {:registrations => "registrations", :sessions => "sessions"}
devise_for :users, :controllers => {:registrations => "registrations", :sessions => "sessions"}