2
나는 이처럼 단순한 작업을 정말로 이해할 수 없기 때문에 나는 피곤해서 죽지 않아야한다.레일스에서 생성시 관련 모델 생성?
class Account < ActiveRecord::Base
has_one :subscription, :dependent => :destroy
after_save :append_subscription
private
def append_subscription
# TODO
end
end
# Subscription(id: integer, account_id: integer, level: integer (: 1), starts_at: date, ends_at:date, created_at: datetime, updated_at: datetime)
class Subscription < ActiveRecord::Base
belongs_to :account
end
내가 해결에게 TODO 부분을 시도하고, 또는 그것에 대해 잘못된 길을 갈거야 :
가 있습니까? 여기 테스트가 있습니다.
describe Account do
include AccountSpecHelper
it "should have a subscription at least at level one on creation" do
account = Account.create
account.subscription.level.should be(1)
end
end
내가 콜백 방식으로 시도했지만 콜백로 전송 블록에 대해 알고하지 않았다, 그것은 작동하지 않는 것 같다. NilClass –
@The Tailor가 작동하면 스크립트/콘솔을 체크인 할 수 있습니까? 아니요. 테스트 할 때 다음과 같은 오류가 나타납니다. 'No account' 새로운 레일스 애플리케이션을 만들었고 계정을 만들 때 종속 구독을 만듭니다. 그리고 실제로 서브 스크립 션을 생성하고 DB에 저장하는지 먼저 확인하십시오. – MBO
네, 콘솔에서 작동했는데 테스트에서 레벨을 테스트하기 전에 광고 account.save가 필요하다는 것을 알아 냈습니다. 감사! –