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

rails:2846

From: 秦 耕造 <k_hada@m...>
Date: Fri, 15 Aug 2008 16:04:46 +0900
Subject: [rails:2846] Re: 画面で入力した内容を次画面でhidden項目に格納する方法

質問者 秦です。

詳細なご説明ありがとうございます。
おかげさまで、配列、ハッシュの内容が理解できました(^^)

ご説明いただいた内容を参考に修正し、以下のように実装できました。

------------------修正後ソース----------------------------
コントローラで
    @keiros = params[:keiro]

画面遷移先のビューで
<% @keiros.each_with_index{|keiro,i|  %>
	<input id="statas_id_<%= i %>" name="keiro[<%= i %>][statas_id]"
              type="hidden" value="<%= keiro[1]["statas_id"] %>" />
<% } %>
--------------------------------------------------------

ただ、今回は、railsの hidden_fieldヘルパーメソッドを使用しないで、
htmlの<input type="hidden" >で実装しました。

hidden_fieldヘルパーメソッドを使用しても実装できるのでしょうか?
hidden_fieldを使用する場合、配列ではなく、アクセサ(attr_accessor)を
使用して、データを格納する必要があるのでしょうか??



take_tk <ggb03124@n...> wrote:

> たけ(tk)です
> 
> 蛇足を付けておきます。
> 
> Re: [rails:2843] 画面で入力した内容を次画面でhidden項目に格納する方法 に
> 
> > 「undefined method `statas_id' for ["0", {"statas_id"=>"1"}]:Array」とい
> > っているのだから 
> > keiro変数に入っているのは ["0", {"statas_id"=>"1"}] という配列だというこ
> > とですね。
> 
> (1)ハッシュを each_with_index で回した場合には、実ブロックパラメータ
> には《[キー,値]の配列》とインデックスの二つの値が入ります。
> 
> hash = {"10"=>{ "statas_id"=>"21"}, "11"=>{"statas_id"=>"22"}, "12"=>{"statas_id"=>"23"}}
> 
> hash.each_with_index{|key_value_array,index| 
>   p [
>     :key_value_array,  key_value_array,
>     :index,            index
>   ]
> }
> 
> =begin
> 
> [:key_value_array, ["11", {"statas_id"=>"22"}], :index, 0]
> [:key_value_array, ["12", {"statas_id"=>"23"}], :index, 1]
> [:key_value_array, ["10", {"statas_id"=>"21"}], :index, 2]
> 
> =end
> 
> (2)ハッシュをeachで回すときにも、実ブロックパラメータには《[キー,値]
> の配列》が入ります。
> 
> hash = {"10"=>{ "statas_id"=>"21"}, "11"=>{"statas_id"=>"22"}, "12"=>{"statas_id"=>"23"}}
> 
> hash.each{|key_value_array| 
>   p [
>     :key_value_array,             key_value_array
>   ]
> }
> 
> =begin
> 
> [:key_value_array, ["11", {"statas_id"=>"22"}]]
> [:key_value_array, ["12", {"statas_id"=>"23"}]]
> [:key_value_array, ["10", {"statas_id"=>"21"}]]
> 
> =end
> 
> (3)ハッシュをeachで回すとき、普通は |key,value|で受けるわけですが・・
> 
> hash.each{|key,value| 
>   p [
>     :key,               key,
>     :value,             value
>   ]
> }
> 
> =begin
> 
> [:key, "11", :value, {"statas_id"=>"22"}]
> [:key, "12", :value, {"statas_id"=>"23"}]
> [:key, "10", :value, {"statas_id"=>"21"}]
> 
> =end
> 
> (4)これは、実パラメータとして入ってきた《[キー,値]の配列》を多重代入
> の規則によって分解しているだけです。
> 
> key_value_array = ["10", {"statas_id"=>"21"}]
> key, value = key_value_array
> p [
>   :key,               key,
>   :value,             value
> ]
> 
> =begin
> 
> [:key, "10", :value, {"statas_id"=>"21"}]
> 
> =end
> 
> Take_tk = KUMAGAI Hidetake
> たけ(tk)=熊谷秀武
> 
> 
> --
> ML: rails@r...
> 使い方: http://QuickML.com/
> 





--
ML: rails@r...
使い方: http://QuickML.com/

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

      2824 2008-07-28 04:25 [k_hada@m...         ] DB登録・更新時以外でのvalidate?      
      2825 2008-07-28 04:41 ┣[yuanying@f...       ]                                       
      2826 2008-07-28 04:42 ┗[yuichi_katahira@m...]                                       
      2827 2008-07-28 06:52  ┣[k_hada@m...         ]                                     
      2839 2008-08-12 04:42  ┗[k_hada@m...         ] collection_selectでpromptができない 
      2840 2008-08-12 08:04   ┗[sakuro@2...         ]                                   
      2841 2008-08-12 08:30    ┗[nov@y...            ]                                 
      2842 2008-08-12 09:17     ┣[k_hada@m...         ]                               
      2843 2008-08-14 14:46     ┃┗[k_hada@m...         ] 画面で入力した内容を次画面でhidden項目に格納する方法
      2844 2008-08-15 04:09     ┃ ┗[ggb03124@n...       ]                           
      2845 2008-08-15 04:54     ┃  ┗[ggb03124@n...       ]                         
->    2846 2008-08-15 09:04     ┃   ┗[k_hada@m...         ]                       
      2891 2008-10-29 09:22     ┣[k_hada@m...         ] findメソッドのconditionsを動的に変更する方法
      2892 2008-10-29 09:27     ┃┣[craccho@g...        ]                             
      2893 2008-10-29 09:29     ┃┗[sakuro@2...         ]                             
      2894 2008-10-29 09:35     ┃ ┗[k_hada@m...         ]                           
      2915 2008-11-27 09:56     ┗[k_hada@m...         ] 富士通のSymfowareというDBを使用する方法
      2917 2008-11-28 02:34      ┗[sakuro@2...         ]