【Agile】Ruby on rails相談所 part2【DRY】 at PHP
【Agile】Ruby on rails相談所 part2【DRY】 - 暇つぶし2ch628:622
06/10/19 21:26:30
>>623
ありがとうございます。頂いたアドバイスをもとに、最終的に次のようなコードにしました。

def create
 @header = Header.new(params[:header])
 @line = Line.new(params[:line])
 # データを検証
 is_valid = true
 is_valid = false unless @header.valid?
 is_valid = false unless @line.valid?
 unless is_valid
  render :action=>'new'
  return
 end
 # データを保存
 Header.transaction do
  @header.save!
  @line.header = @header
  @line.save!
 end
 flash[:notice] = 'Order created.'
 render :action=>"list"
rescue ActionRecord::RecordNotSaved => ex
 render :action=>"new"
end

データを保存するまえに検証しておかないと、例えばヘッダーに間違いがあった場合、
明細のほうが検証されないので、ヘッダーのエラーメッセージしか表示されませんでした。



次ページ
最新レス表示
レスジャンプ
類似スレ一覧
スレッドの検索
話題のニュース
おまかせリスト
オプション
しおりを挟む
スレッドに書込
スレッドの一覧
暇つぶし2ch