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

パラメータを参照してい:emailますが、フォームで定義されていません。あなたのフォームには:username2回あります。:emailおそらく、 type のフィールドが必要ですemail_field

于 2013-09-06T17:02:27.673 に答える
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 に答える