rails:2830
From: 秦 耕造 <k_hada@m...>
Date: Mon, 28 Jul 2008 19:54:33 +0900
Subject: [rails:2830] Re: 一画面で、複数テーブル更新するときのvalidate?
ご回答ありがとうございます。 form_for の内側で、fields_for というヘルパーを使うってうまくいきました!! ありがとうございます。 ソースは以下のようになりました。 ・view <% form_for(@model_para), :url => { :action => "input_cheack" } do |f| %> <% fields_for :model_para2 do |pc_sinsei| %> ### ←2テーブル目を指定 ### ↓↓↓2テーブル目を追加 <%= error_messages_for 'model_para','model_para2' %> <%= f.text_field :項目名 %> <%= model_para2.text_field :項目名 %> <% end %> <% end %> ・controller @model_para = Modelname.new(params[:model_para]) @model_para2 = Modelname2.new(params[:model_para2]) if @model_para.save && @model_para2.save #正常処理 ・・・ else #エラー処理 render :action => "登録画面名" end ・model validates_presence_of (:項目名, :message => "エラー。") ・model2 validates_presence_of (:項目名, :message => "エラー。") babie <babie.tanaka@g...> wrote: > ばばです。 > > form_for の内側で、fields_for というヘルパーを使うと良いと思います。 > > > 2008/07/28 14:53 秦 耕造 <k_hada@m...>: > > たびたび失礼します。 > > Rails初心者の秦と申します。 > > > > 1画面で複数テーブル更新する場合のvalidate > > についての質問です。 > > > > 1画面で1テーブル更新する場合以下のように記述すると、 > > @model_paraに格納されたエラーを<%= f.error_messages %> > > で出力でき、更に、エラーのある入力項目を反転表示出来ると > > 思います。 > > ・view > > <% form_for(@model_para) do |f| %> > > <%= f.error_messages %> > > <%= f.text_field :項目名 %> > > <% end %> > > > > ・controller > > @model_para = Modelname.new(params[:model_para]) > > if @model_para.save > > #正常処理 > > ・・・ > > else > > #エラー処理 > > render :action => "登録画面名" > > end > > > > ・model > > validates_presence_of (:項目名, :message => "エラー。") > > > > これが、1画面、2テーブルになるとどの用に記述すれば宜しいでしょうか?? > > ・view > > <% form_for(@model_para) do |f| %> ###←ここで2テーブル分割りあてる?? > > <%= f.error_messages %> > > <%= f.text_field :項目名 %> > > <%= f.text_field :項目名 %> > > <% end %> > > > > ・controller > > @model_para = Modelname.new(params[:model_para]) > > ### ↓↓↓↓↓ここで2テーブル分割りあてる?? > > ### @model_para2 = Modelname2.new(params[:model_para2]) > > ### @model_para2.save > > if @model_para.save > > #正常処理 > > ・・・ > > else > > #エラー処理 > > render :action => "登録画面名" > > end > > > > ・model > > validates_presence_of (:項目名, :message => "エラー。") > > > > ・model2 > > validates_presence_of (:項目名, :message => "エラー。") > > > > たびたび申し訳ありませんが、よろしくお願いいたします。 > > > > ------環境は以下の通りです------ > > ruby 1.8.6 (2007-09-24 patchlevel 111) [i386-mswin32] > > Rails 2.1.0 > > > > > > > > -- > > ML: rails@r... > > 使い方: http://QuickML.com/ > > > > > > -- > babie: > blog: http://d.hatena.ne.jp/babie/ > mail: babie.tanaka@g... > > -- > ML: rails@r... > 使い方: http://QuickML.com/ > -- ML: rails@r... 使い方: http://QuickML.com/
2828 2008-07-28 07:53 [k_hada@m... ] 一画面で、複数テーブル更新するときのvalidate? 2829 2008-07-28 08:13 ┗[babie.tanaka@g... ] -> 2830 2008-07-28 12:54 ┗[k_hada@m... ]