2

我收到以下错误

param not found: customer

这是我的 auth_controller

def create
    @customer = Customer.new(customer_params)
    if @customer.save
      flash[:success] = 'Success';
    else
      flash[:error] = 'Error'
    end
  end

  private
  def customer_params
    params.require(:customer).permit(:username,:email,:password)
  end

这是我的表格

<%= form_for :customer, url: {action: :create} do |f| %>
<%= f.text_field :username,placeholder: 'Username' %>
<%= f.password_field :password,placeholder: 'Password' %>
<%= f.email_field :email,placeholder: 'Email' %>
<input type="submit" value="Register" />

我该如何解决这个错误

4

2 回答 2

0

为什么不在表单中使用 Customer 类的对象,或者在呈现表单之前初始化 @customer 对象,或者使用

在行动

def action_name
  @customer = Customer.new
end

然后,在表单中使用它

<%= form_for @customer, url: {action: :create} do |f| %>

或者,在表单本身中初始化新对象:

<%= form_for Customer.new, url: {action: :create} do |f| %>
于 2013-09-06T17:05:27.997 回答
0

您正在引用一个:email参数,但它没有在您的表单中定义。你的表格有:username两次。大概你想要:emailtype 的字段email_field

于 2013-09-06T17:02:27.673 回答