2008年12月08日

一括更新のために

Item
id : integer
name : string

というARモデルがあったとして

#チェックボックスで必要なItemだけ選択させる

View change.rhtml

<% form_tag do %>
<% @items.each do |item| %>
<%= check_box_tag 'items[]',item.id %>
 <%=h item.name >
<% end %>
<%= submit_tag '変更' %>
<% end %>


Controller

def change
if request.post?
 //Itemの選択
@items = Item.find(:all,:conditions => ['id in (?)',params[:items])

else
@items = Item.find(:all)
end
end



#nameを一気に変更

View change.rhtml

<% form_tag do %>
<% @items.each do |item| %>
 <%=text_field_tag("names[#{item.id}]",item.name) % >
<%= submit_tag '変更' %>
<% end %>
<% end %>


Controller

def change
@items = Item.find(:all)
if request.post?
 //Itemのnameを設定してく
@items.each do |item|
item.name = params[:names][item.id]
item.save!
end
end
end


posted by sistailsnow at 12:21| Comment(0) | TrackBack(0) | Railを走ってみた | このブログの読者になる | 更新情報をチェックする
この記事へのコメント
コメントを書く
お名前: [必須入力]

メールアドレス: [必須入力]

ホームページアドレス:

コメント:

認証コード: [必須入力]


※画像の中の文字を半角で入力してください。
この記事へのトラックバックURL
http://blog.seesaa.jp/tb/110875910
※言及リンクのないトラックバックは受信されません。

この記事へのトラックバック
×

この広告は1年以上新しい記事の投稿がないブログに表示されております。