ここにありprompt.rb
ます:
class Prompt < ActiveRecord::Base
attr_accessible :title, :teacherUrl, :studentUrl, :image, :text;
validates :title, :length => { :minimum => 5 };
has_attached_file :image ;
def initialize(params = nil)
super(params)
after_initialize
end
def after_initialize()
self.teacherUrl = 'T' + (0...4).map{65.+(rand(26)).chr}.join ;
self.studentUrl = 'S' + (0...4).map{65.+(rand(26)).chr}.join ;
end
end
(デフォルトの「新しい」メソッドから)prompt_controller.rbから新しいプロンプトを作成すると、次のようになります。
undefined method `teacherUrl=' for #<Prompt:0x007fe3ac68adc0>
アプリケーショントレースで
app/models/prompt.rb:14:in `after_initialize'
app/models/prompt.rb:10:in `initialize'
app/controllers/prompts_controller.rb:43:in `new'
app/controllers/prompts_controller.rb:43:in `new'
これはsqliteで完全に機能していました。データベースをPostgresに切り替えたところ、このエラーが発生しています...関連していないように見えますが、変更されたのはそれだけです(リビジョンに戻ると、再び完全に機能します)。
どうしたの?teacherUrl は attr_accessible で定義されていませんか?