AD:
Rails4からMass Assignment対策として、StrongParametersがRailsの中の標準ライブラリと組み込まれるようになりました。
Deviceを使ってユーザ認証を導入、独自フィールドを設置したのですが、StrongParametersでそのフィールドを許可の対象にしないとUnpermitted parametersとしてエラーがでます。
せっかく調べたので、その設定をメモしておきたいと思います。
やったこと
今回の環境
– Rails 4.2.1
– Devise 3.2.1
こういう時はドキュメントを読むのが一番ですね。しっかりStrongParametersについて書いてありますね。
http://www.rubydoc.info/github/plataformatec/devise/master/frames#Strong_Parameters
まずこの3つのアクションがあることを理解しておきます。
- sign_in (Devise::SessionsController#create) – Permits only the authentication keys (like email)
- sign_up (Devise::RegistrationsController#create) – Permits authentication keys plus password and password_confirmation
- account_update (Devise::RegistrationsController#update) – Permits authentication keys plus password, password_confirmation and current_password
その後は各種アクションに対して、どのパラメータを許可するかを追加します。
ApplicationControllerに書くのもいいかもしれませんが、将来の拡張性などを考えるとモデルに対してコントローラーを作るのが汎用性が高そうです。
registrations_controllerをUsersフォルダ内に作成しました。
|
# app/controllers/users/registrations_controller.rb class Users::RegistrationsController < Devise::RegistrationsController before_filter :configure_permitted_parameters protected def configure_permitted_parameters devise_parameter_sanitizer.for(:sign_up) { |u| u.permit(:first_name, :last_name) } devise_parameter_sanitizer.for(:sign_in) { |u| u.permit(:first_name, :last_name) } devise_parameter_sanitizer.for(:account_update) { |u| u.permit(:first_name, :last_name) } end end |
routes.rbに明示的にコントローラーを指定する
|
devise_for :users, :controllers => { :registrations => "users/registrations" } |
以上で追加したフィールドに情報を追加できるようになりました。
Twitter:
Warning: Undefined array key "Twitter" in /home/sazaeau/mizoshiri.com/public_html/blog.mizoshiri.com/wp-content/plugins/sns-count-cache/sns-count-cache.php on line 2897
0 | Facebook: 0 | Google Plus:
Warning: Undefined array key "Google+" in /home/sazaeau/mizoshiri.com/public_html/blog.mizoshiri.com/wp-content/plugins/sns-count-cache/sns-count-cache.php on line 2897
0 | Hatena: 2 | Pocket: 0 | Total: 2 | Feedly: 0
AD:
嫁のDesktopをすべてセットアップして、最後に気づいたのですが、音がでない。。。
最近はLaptopばっかり使っていたので、スピーカーをあまり意識することがなかったので、すっかり忘れていました。
で、Creative Gigaworks GWT40-SII T40 Series II Speakersを購入しました。
レビュー
音はやはりいいですー、低音も高音も綺麗にでております。
価格は$145で購入しました、店舗で$159で売っておりましたが、値段を交渉して$145まで落ちました。いつも使っているMSYでは$125だったのですが、今すぐ必要だったので、購入しました。
デザインは最高に気に入っています。この青色とスピーカーの中の黄色が好きですねー
気に入っていないところは、ちょっと縦に大きすぎるかなと思います。もともと日本で、GigaWorks T20 Series II 2.0ch スピーカー GW-T20-IIを使っていたので、そのイメージがあるのか、余計に大きく見えのかもしれません。
ですが、総合的に買って満足しております。
Twitter:
Warning: Undefined array key "Twitter" in /home/sazaeau/mizoshiri.com/public_html/blog.mizoshiri.com/wp-content/plugins/sns-count-cache/sns-count-cache.php on line 2897
0 | Facebook: 0 | Google Plus:
Warning: Undefined array key "Google+" in /home/sazaeau/mizoshiri.com/public_html/blog.mizoshiri.com/wp-content/plugins/sns-count-cache/sns-count-cache.php on line 2897
0 | Hatena: 0 | Pocket: 1 | Total: 1 | Feedly: 0
AD:
嫁のLaptopが死んだので、Desktopをあげるために新しくモニターを購入しました。
msyで、オンラインでは、$279となっていましたが、実際に現地で取りに行ったら、$251でした。
自分の24インチのモニターを嫁に上げて自分は27インチを2台左右におきました。
Twitter:
Warning: Undefined array key "Twitter" in /home/sazaeau/mizoshiri.com/public_html/blog.mizoshiri.com/wp-content/plugins/sns-count-cache/sns-count-cache.php on line 2897
0 | Facebook: 0 | Google Plus:
Warning: Undefined array key "Google+" in /home/sazaeau/mizoshiri.com/public_html/blog.mizoshiri.com/wp-content/plugins/sns-count-cache/sns-count-cache.php on line 2897
0 | Hatena: 0 | Pocket: 0 | Total: 0 | Feedly: 0
AD:
ボタンをクリックしたら、Selectのリスト生成するようなスクリプトがあったのですが、その生成されたSelectのデータを使用して更にDomを書き換えたっかたのですが、地味に悩んだのでメモしておきます。
|
$('.btn').on('click','.itemList select', function(){ console.log($(this).val()); }); |
Twitter:
Warning: Undefined array key "Twitter" in /home/sazaeau/mizoshiri.com/public_html/blog.mizoshiri.com/wp-content/plugins/sns-count-cache/sns-count-cache.php on line 2897
0 | Facebook: 0 | Google Plus:
Warning: Undefined array key "Google+" in /home/sazaeau/mizoshiri.com/public_html/blog.mizoshiri.com/wp-content/plugins/sns-count-cache/sns-count-cache.php on line 2897
0 | Hatena: 0 | Pocket: 0 | Total: 0 | Feedly: 0
AD:
先日、日本に帰っていたのですが、その際に携帯のローミングをしたくなかったので事前に楽天よりWiFiを借りました。
楽天のCalendar Worldさんから購入しました。
価格は、14泊15日:4500円 (1日300円)のプランにしました。
引き渡しは、伊丹の郵便局にして、発送はレビューを書いたら無料のプランにしたので、Calendar Worldさんが郵送パックを同封してくれたので、それを使って東京の郵便局から送り返しました。
メモ
- 引き渡しを、郵便局にしたのですが、飛行機が遅れて結局翌日また空港まで戻らないといけなくなりましたので、次回はホテルにしようと思います。
- 一度の充電でバッテリーは半日くらいは持ちました。
Twitter:
Warning: Undefined array key "Twitter" in /home/sazaeau/mizoshiri.com/public_html/blog.mizoshiri.com/wp-content/plugins/sns-count-cache/sns-count-cache.php on line 2897
0 | Facebook: 0 | Google Plus:
Warning: Undefined array key "Google+" in /home/sazaeau/mizoshiri.com/public_html/blog.mizoshiri.com/wp-content/plugins/sns-count-cache/sns-count-cache.php on line 2897
0 | Hatena: 0 | Pocket: 0 | Total: 0 | Feedly: 0