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