ruby-on-rails - 参数数量错误(2 对 1)-Rails

标签 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%>

我的 Models/customer.rb简单地有:
class Customer < ActiveRecord::Base
    attr_accessible :firstName, :lastName
end

我的 Controller/pages_controller
class PagesController < ApplicationController
  def custs
    @cust = Customer.new(params[:firstName], params[:lastName])
    @cust.save
  end
end

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

wrong number of arguments (2 for 1) pages_controller.rb:3:in new' pages_controller.rb:3:incusts'



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

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

最佳答案

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

关于ruby-on-rails - 参数数量错误(2 对 1)-Rails,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2076616/

相关文章:

ruby-on-rails - 从 JavaScript js.erb 文件调用 Ruby on Rails 辅助方法

ruby-on-rails - 根据用户窗口大小呈现不同的部分

mysql - 有_许多 :through with a foreign key with 2 tables

ruby-on-rails - 将笔记本电脑上的本地 Rails 应用程序连接到 heroku 数据库

ruby-on-rails - 通过扩展向 ActiveRecord 模块添加自定义验证?

ruby-on-rails - Rails/Ruby 错误地显示变量未定义

ruby-on-rails - 如何使用 Rails 5 中的 Application.renderer.render 和设计

ruby-on-rails - 将应用程序推送到heroku时出错(安装带有 native 扩展名的linecache19(0.5.12)时出错)需要帮助!

ruby-on-rails - 批量分配异常未找到解释(Rails 3.2.1)

ruby-on-rails - Rails Web 控制台未显示在运行时错误页面上