Railsのscaffoldデフォルトでは、パラメータをメソッドに渡す際に、例えば postというモデルを使用している時、newアクションで
def new
@post = Post.new
end
としてフォームなどを表示させて、ユーザがフォームに入力をしてsubmitを押すとcreateアクションにpostでフォームのデータを渡します。そこでcreateアクションがデータベースに保存するなどの処理をします。
def create
@post = Post.new(params[:post])
respond_to do |format|
if @post.save
Do something here...
end
end
この params([:post]) で newからcreateアクションにフォームのデータを渡しているのですが、私はここをparams[:id]としてしまい、newフォームのデータがcreateアクションに渡らなかったので初歩的なことでずいぶん時間を費やしてしまいました…。他の人はこんなミスはしないのでしょうか…。
No comments:
Post a Comment