0

(テーブルの) メンバーの作成中に問題が発生しました。[新しいメンバー] をクリックしてメンバーを作成するたびに、[送信] をクリックしたかのように新しいメンバーが自動的に保存されます。フォームを調整しながらページをリロードするたびに、メンバーも作成されます。私のコントローラのタイプミスかもしれません。これが「def new」です。

def new
  @member = Member.new
  @member.association_id = @association.id
  @member.save
  3.times { @member.submembers << Submember.new() }
end

それ以外の場合は、スクリプトのエラーである可能性があります。問題は、これをどのように修正できるかです。

ありがとうございました。

他の情報が必要な場合は、ここにコメントしてください。

エラーメッセージ:

Problem:
Calling Document.find with nil is invalid.
Summary:
Document.find expects the parameters to be 1 or more ids, and will return a single document if 1     id is provided, otherwise an array of documents if multiple ids are provided.
Resolution:
Most likely this is caused by passing parameters directly through to the find, and the parameter    either is not present or the key from which it is accessed is incorrect.
4

1 に答える 1

0

新しいアクションでメンバーを保存しないでください。コードは次のようになります。

def new
  @member = Member.new      
  3.times { @member.submembers << Submember.new() }
end

そして、フォームを送信してアクションを作成する必要があります。このアクションでは、モデルを association_id で保存します。

def create
  @member = Member.new(params[:member])
  @member.association_id = @association.id
  if @member.save
    redirect_to members_path, :notice => "Member was successfully created"
  else
    render :new
  end
end
于 2013-01-07T20:35:57.783 に答える