错误的参数数量(2表示1) - Rails

Omn*_*ent 4 ruby-on-rails

我现在真的感到非常困惑和烦恼.

我正在运行Rails 2.3.5

View/pages/customers.html.erb只是:

<% form_tag do %>
    First Name
        <%= text_field_tag :firstName, params[:firstName] %>
    Last Name
        <%= text_field_tag :lastName, params[:lastName] %>

        <%= submit_tag "Enter" %>
<%end%>
Run Code Online (Sandbox Code Playgroud)

Models/customer.rb只是:

class Customer < ActiveRecord::Base
    attr_accessible :firstName, :lastName
end
Run Code Online (Sandbox Code Playgroud)

Controller/pages_controller

class PagesController < ApplicationController
  def custs
    @cust = Customer.new(params[:firstName], params[:lastName])
    @cust.save
  end
end
Run Code Online (Sandbox Code Playgroud)

所以当你看到我只是想从前端输入两个字段然后将它们保存到数据库中.但是,每当我加载我的页面时,它会给我错误:

错误的参数数量(2表示1)pages_controller.rb:3:在new' pages_controller.rb:3:incusts中

奇怪的是,当我使用沙箱脚本/控制台时,我能够很好地插入数据.

这里发生了什么?请有人解释一下!

Pio*_*ski 7

http://apidock.com/rails/ActiveRecord/Base/new/class这里是对新功能的一点解释.关键部分 - "传递一个哈希,键名匹配相关的表列名".而不是@cust = Customer.new(params[:firstName], params[:lastName])你应该拥有的@cust = Customer.new(:firstName => params[:firstName], :lastName => params[:lastName]).这应该可以解决问题.