私は次のとおりですhttp://railscasts.com/episodes/102-auto-complete-associationRails 3 find_or_create_by
すべてうまく見えます。私はインボイスとクライアントをその場で作成しようとしています。それは動作します。すべてクールです。クライアントbelongs_toのアカウント 請求書
Buuut belongs_toのアカウント 請求書belongs_toの
クライアント、両方のモデル(クライアントおよび請求書)は必須の属性があります:ACCOUNT_IDを。
私はその場で新しいクライアントを作成しようとしている私は、エラー私はそれがでACCOUNT_IDを必要としているため、クライアントを作成することができないからだと、このエラーを取得してい:client_id: - can't be blank
理由を取得クライアントモデル。クライアントモデルでこの行validates :account_id, :presence => true
を削除すると、請求書が追加されますが、クライアントにはaccount_idはありません。
私は
validates :account_id, :presence => true
validates :client_id, :presence => true
def client_name
client.name if client
end
def client_name=(name)
self.client = Client.find_or_create_by_name(name) unless name.blank?
end
アカウントはすでに作成されています。ログインしたユーザはすでにaccount_idを持っており、この 'current_user.account_id'のようにアクセスできます。問題は、新しいクライアントレコードに非常に同じaccount_idを取得することです。私はあなたのコードで今遊びます。 – leonel
これは私の請求書モデル 'def organization_name =(name);にあります。 self.organization = Organization.find_or_create_by_name(name);ただし、name.blank? end'モデルではcurrent_userにアクセスできません。 – leonel
アカウントレコードから新しいクライアントレコードを作成すると、それはaccount_id ...を継承します。上記を参照してください。 – Tilo