[前][次][番号順一覧][スレッド一覧]

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...         ]