加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 百科 > 正文

ruby-on-rails – M.Hartl的Rails教程7.4.1中错误的参数数量(2个

发布时间:2020-12-17 01:52:53 所属栏目:百科 来源:网络整理
导读:我一直在关注最新版本的M.Hartl的Rails教程,我在第7.4.1章遇到了一个问题.我创建了一个与用户控制器的新操作相关联的注册表单.当表单提交有效信息时,控制器应重定向到新用户配置文件,但是我在下面发生错误… 我已经包含了routes.rb代码以及Users控制器代码.
我一直在关注最新版本的M.Hartl的Rails教程,我在第7.4.1章遇到了一个问题.我创建了一个与用户控制器的新操作相关联的注册表单.当表单提交有效信息时,控制器应重定向到新用户配置文件,但是我在下面发生错误…

我已经包含了routes.rb代码以及Users控制器代码.谁能帮助我?

当我访问url ../users/1时,页面实际上呈现了我的用户,因此我知道用户已经创建并保存到数据库中.我不知道是否可能是redirect_to方法的实现错误?

任何帮助将不胜感激!

UsersController中的ArgumentError #create
错误的参数数量(2为1)

提取的来源(第19行):

private
  def _compute_redirect_to_location_with_xhr_referer(options)
    store_for_turbolinks begin
      if options == :back && request.headers["X-XHR-Referer"]
        _compute_redirect_to_location_without_xhr_referer(request.headers["X-XHR-Referer"])

用户控制器:

class UsersController < ApplicationController

  def new
    @user = User.new
  end

  def show
    @user = User.find(params[:id])
  end

  def create
    @user = User.new(user_params)  
    if @user.save
      flash[:success] = "Welcome to the Sample App!"
      redirect_to @user
    else
      render 'new'
    end
  end

  private 

    def user_params
      params.require(:user).permit(:name,:email,:password,:password_confirmation)
    end
end

Routes.rb:

Rails.application.routes.draw do
  root             'static_pages#home'
  get 'help'    => 'static_pages#help'
  get 'about'   => 'static_pages#about'
  get 'contact' => 'static_pages#contact'
  get 'signup'  => 'users#new'
  resources :users
end

解决方法

看起来您的turbolinks版本已经过时了.尝试更新到最新版本:

宝石’turbolinks’,’?> 2.3.0′

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读