Это ошибка, я получаю:Почему я получаю NoMethodError для атрибута, который существует в моей модели?
ContactPostalcardsController#skip (NoMethodError) "undefined method `status=' for #<ContactPostalcard:0x2b21433d64b0>"
Это код, назвав его и пытается присвоить значение атрибута статуса для ContactPostalcard (модель):
def skip
@contact_postalcard = ContactPostalcard.new(params[:contact_postalcard])
@contact_postalcard.contact_id = params[:contact_id]
@contact_postalcard.postalcard_id = params[:postalcard_id]
@contact_postalcard.status = "skipped"
@contact_postalcard.date_sent = Date.today
@contact_postalcard.date_created = Date.today
if @contact_postalcard.save
render :text => 'This email was skipped!'
end
end
Это модель упоминается. Обратите внимание, что «аннотация» выход показывает статус в качестве атрибута:
class ContactPostalcard < ActiveRecord::Base
attr_accessible :title, :contact_id, :postal_id, :postalcard_id, :message, :campaign_id, :date_sent, :status
belongs_to :contact
belongs_to :postalcard
alias_attribute :body, :message
alias_attribute :subject, :title
named_scope :nosugar, :conditions => { :sugarcrm => false }
def company_name
contact = Contact.find_by_id(self.contact_id)
return contact.company_name
end
def asset
Postalcard.find_by_id(self.postalcard_id)
end
def asset_class
Postalcard.find_by_id(self.postalcard_id).class.name
end
end
# == Schema Information
#
# Table name: contact_postalcards
#
# id :integer not null, primary key
# title :string(255)
# contact_id :integer
# postalcard_id :integer
# message :text
# campaign_id :integer
# date_sent :datetime
# created_at :datetime
# updated_at :datetime
# postal_id :integer
# sugarcrm :boolean default(FALSE)
# status :string(255)
#
Я неясно, почему я постоянно получаю «неопределенный метод» - я добавил атрибут статуса (это было раньше, но отсутствующим используется миграция, а затем raked), так что нужна помощь ... спасибо.
Хммм ... Я сделал команду «перезагрузки героя», и я все еще получаю ошибку .... – Angela
, хотя это была лишь часть проблемы, это было то, что мне нужно было для достижения окончательного решения и как практика вообще. – Angela