Railsで複数行の一括更新のリンク
むむ、、、
2008-06-24 Railsで明細行の一括登録・更新
http://d.hatena.ne.jp/hiro_nemu/20080624/1214279300
Rails4: fields_forとstrong_parametersで複数レコードの更新に対応する方法
2014/06/10 13:15
http://319ring.net/blog/archives/2591/
Railsのフォームで複数レコードを一括更新 2013
http://morizyun.github.io/blog/rails-form-update-many-records/
Ruby on Railsあれこれ/複数従業員情報の一括更新
http://winter-tail.sakura.ne.jp/pukiwiki/index.php?Ruby%20on%20Rails%A4%A2%A4%EC%A4%B3%A4%EC%2F%CA%A3%BF%F4%BD%BE%B6%C8%B0%F7%BE%F0%CA%F3%A4%CE%B0%EC%B3%E7%B9%B9%BF%B7
2012-10-26 複数レコードを一括して更新する
http://d.hatena.ne.jp/zucay/20121026/1351219598
Ruby on Rails モデル開発 複数のレコードをまとめて更新する update_all
2015-09-30 13:13:29
http://blog.goo.ne.jp/nakajima_notec/e/27cb204d1352171e90a2d9d00f2a8ab8
2. 一括登録フォームの実装
http://rails.densan-labs.net/form/bulk_registration_form.html
Rails4、fields_forを使って一括更新する処理のベストプラクティスは何だろう
http://j-caw.co.jp/blog/?p=1590
20110422 rails2.3での一括更新画面の作り方
http://rochefort.hatenablog.com/entry/20110422/p1
Railsで更新も編集も削除も、全部indexページでやりたい
RubyRuby11250RailsRails7324
jacoyutoriusが2015/01/29
http://qiita.com/jacoyutorius/items/ea0673fe30cfe7cdac8f
———–
Editing Multiple Records in Rails Apr 15, 2011 (Rails3)
http://anthonylewis.com/2011/04/15/editing-multiple-records-in-rails/
コードものっているが、Rails3のコードで、そのままやると、おそらく、StrongPrameterの関係で、ForbiddenAttributesError が出てしまう。
https://github.com/anthonylewis/multi_edit
→下記の、魔法のことば「params.permit!」を入れたら、動いた!セキュリティ的には何かしらの問題があるのでしょうが、とりあえず、動いてとってもうれしい!
Rails4.1で『改訂新版 基礎Ruby on Rails』のコードで「ActiveModel::ForbiddenAttributesError」の対処
chobi9999がに投稿(に編集)
http://qiita.com/chobi9999/items/961aaea6bbc9e04d7abc
●やったこと(抜粋)
(1)
rails g scaffold User first_name:string last_name:string email:string
rake db:migrate
(2)config/routes.rb
resources :users の前に、
match 'users/all/edit’ => 'users#edit_all’, :as => :edit_all, :via => :get
match 'users/all’ => 'users#update_all’, :as => :update_all, :via => :put
を記載。
(3)app/controllers/users_controller.rb
[sourcecode language='ruby' ] # GET /users/all/edit def edit_all @users = User.all end # PUT /users/all def update_all params.permit! params['user'].keys.each do |id| @user = User.find(id.to_i) @user.update_attributes(params['user'][id]) end redirect_to(users_url) end [/sourcecode]
を記載。(params.permit! はセキュリティ的に、、、でも、ちゃんとしたやり方わかりません!)
(4)app/views/users/ フォルダの中に、edit_all.html.erb を作成し、以下のように記載。
<%= form_for :user, :url => update_all_path, :html => { :method => :put } do %>
<table>
<tr>
<th>First Name</th>
<th>Last Name</th>
<th>E-Mail</th>
</tr>
<% @users.each do |user| %>
<%= fields_for “user[]", user do |user_fields| %>
<tr>
<td><%= user_fields.text_field :first_name %></td>
<td><%= user_fields.text_field :last_name %></td>
<td><%= user_fields.email_field :email %></td>
</tr>
<% end %>
<% end %>
</table>
<div class="actions">
<%= submit_tag %>
</div>
<% end %>
(5)app/views/users/index.html.erb の一番下にリンクを追加。
<%= link_to 'Edit Users’, edit_all_path %>
これでできるはずだが、params.permit! のところをなんとかしたい。
ディスカッション
コメント一覧
まだ、コメントがありません