代码之家  ›  专栏  ›  技术社区  ›  edoloughlin

Rails 3.0.0和Ruby 1.8.7有问题吗?零星的“参数数目错误”错误

  •  0
  • edoloughlin  · 技术社区  · 14 年前

    我在SnowLeopard上使用了Rails3.0.0.rc和Ruby1.8.7。我用Builder来限制 render :xml 对于用户模型对象。它没有按预期的那样工作,所以我把我的报告删掉了 format.xml 阻止。

    例如,这是我的用户_控制器.rb:

      def create
        # TODO: Limit the frequency at which this can be called.
        @user = User.new
        @user.first_name = params[:user][:first_name]
        @user.last_name = params[:user][:last_name]
        # etc...
    
        respond_to do |format|
          if @user.save
            format.html { redirect_to(@user, :notice => 'User was successfully created.') }
            format.xml  { render :xml => @user, :status => :created, :location => @user }
          else
            format.html { render :action => "new" }
            format.xml  { render :xml => @user.errors, :status => :unprocessable_entity }
          end
        end
      end
    

    我换了第一个 格式.xml 并注释掉了块:

    format.xml # { render :xml => @user, :status => :created, :location => @user }
    

    当我删除我的评论并重新引入块时,我得到一个错误:

    ArgumentError(错误的 参数(1代表0):
    create'
    app/controllers/users_controller.rb:77:in

    我重新格式化了代码 渲染:xml

    1 回复  |  直到 14 年前
        1
  •  0
  •   edoloughlin    14 年前

    结果是错误报告不正确。我脑子里有个错误 Users::to_xml