Rails 4 アプリケーションを作成しています。それぞれincidentが に属しuserます。各事件has many events。インシデントを作成して、イベント モデルに存在するcurrent_user.incidents.new属性を渡すことができるようにしたいと考えています。message作成時に、上記の新しいイベントを作成したいと思いますmessage。
これが私のインシデントモデルです。
class Incident < ActiveRecord::Base
# The 'incident' model.
# Incidents are created by Users (belongs_to :user)
# Incidents may be public or private.
# Incidents have many events (identified, fixing, etc.)
belongs_to :user
has_many :events
validates :name, presence: true, length: {maximum: 256}
validates_presence_of :component
validates_presence_of :public
validates_presence_of :user_id
attr_accessor :message
validates_associated :message, presence: true
def message
Event.find_by_incident_id(self.id).message
end
def message=(value)
self.events.new(message: value, status: self.status)
end
private
def incident_params
params.require(:incident).permit(:name, :status, :user_id, :message)
end
end
しかし、私が実行する@i = Incident.new(message: 'something')と、私は得るActiveRecord::UnknownAttributeError: unknown attribute 'message' for Incident.
これを理解するのを手伝ってください。