はじめてのRuby on Rails、トラブル記録
<< Heroku postgresのデータをバックアップ・ローカルでリストア | TOP | Heroku postgresの情報確認と接続・バックアップ/リストア >>
スポンサーサイト

一定期間更新がないため広告を表示しています

posted by スポンサードリンク | | - | - | - |はてなブックマーク - スポンサーサイト
Rails3.0から3.2.11にアップデートした時に引っかかったところ
Rails3.0のプロジェクトを3.2.3にアップデートしたら色々な所で引っかかりまくりましたびっくり
3.2.0で新規PJは作ったことがあったから(まだ途中だけど)すんなり行くかなと思ったんだけど、全然!どこがマイナーバージョンアップだよ悲しい
asset_pipelineを使わないようにすればもう少し楽に行ったのかもしれないけど。。。

てなわけで、今後のために引っかかったところメモ。

ActiveModel::MassAssignmentSecurity::Error

以下のエントリを全文読むこと推奨。
参考: github の mass assignment 脆弱性が突かれた件

とりあえず急ぎで動かしたいなら以下の対応。 config/application.rb
config.active_record.whitelist_attributes = false
デフォルトはtrueだけどこれをfalseにに。ただ、できればattr_accessibleの設定をした方が良さそう。



ArgumentError (A sender (Return-Path, Sender or From) required to send a message)

Mailer内の各メソッド内でmailメソッドを呼んでないとメールが送られなかった。
[OLD]
class NotifyMailer < ActionMailer::Base
 default :from => 'hogehoge@hoge.com', :to => @recipients, :subject => @subject

 def receive_message(message)
  setup_email(message.recipient_id)
  @subject += I18n.t("You received a message")
  @message = message
 end
end
[NEW]
class NotifyMailer < ActionMailer::Base
 default :from => 'hogehoge@hoge.com'

 def receive_message(message)
  setup_email(message.recipient_id)
  @subject += I18n.t("You received a message")
  @message = message
  mail :to => @recipients, :subject => @subject
 end
end
私のケースではdefaultでfrom, to, subjectのパラメータを全て設定していて、ActionMailer内の各メソッドでは明示的にmailメソッドを呼んでいなかったのが、どこかのバージョンから呼ばないといけなくなったようです。

元々はdefaultでtoとsubjectを設定してたのも、メソッド内でmail()でやってみたらtoとsubjectがちゃんと設定されてなかったのでメソッド内で設定することに。defaultで設定できる方法もあるかもしれないけど、とりあえずこれで動いたのでいいやってことで。。。

あとはこれ以外にも、ActionMailerのメソッド内に分岐があって、Mailerメソッドを呼んだのにメールを送らないというケースには別の対応が必要な模様。その場合には以下の記事を参考に。
参考: Rails 3 - abandon sending mail within ActionMailer action


<% form_for ... が表示されなかった

これはRails2.3の頃の名残だけど…まだ残ってたのでくもり
[OLD]
<% form_for @hoge do |f| %>
[NEW]
<%= form_for @hoge do |f| %>
posted by トモト | 00:02 | Rails3.x | comments(0) | trackbacks(0) |はてなブックマーク - Rails3.0から3.2.11にアップデートした時に引っかかったところ
スポンサーサイト
posted by スポンサードリンク | 00:02 | - | - | - |はてなブックマーク - スポンサーサイト
コメント
コメントする










この記事のトラックバックURL
トラックバック機能は終了しました。
トラックバック
Rails3レシピブック 190の技
Rails3レシピブック 190の技
ついにRails3対応版が出ました!!
WEB+DB PRESS Vol.58
WEB+DB PRESS Vol.58
Rails2系から3への移行時に知りたいことがひとまとまりになっててよかった!色々ググるよりこれを読む方が早い。
Rubyレシピブック 第3版 303の技
Rubyレシピブック 第3版 303の技
Rubyやるならこのリファレンスは必要。
Search this site