【发布时间】:2011-10-05 18:04:40
【问题描述】:
我关注http://railscasts.com/episodes/102-auto-complete-association
一切似乎都很好。我正在尝试创建发票和即时客户。它确实有效。一切都很酷。
客户所属账户 发票所属账户 发票属于客户
但是,两种模型(Client 和 Invoice)都有一个强制属性:account_id。
当我尝试即时创建新客户端时,我收到错误 :client_id: - can't be blank
我收到此错误的原因是无法创建客户端,因为它需要客户端模型中的 account_id。如果我在客户端模型中删除此行 validates :account_id, :presence => true,则会添加发票,但客户端没有 account_id。
我在创建操作的clients_controller.rb中确实有这个设置默认值@client.account_id = current_user.account_id
invoice.rb
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
【问题讨论】:
标签: ruby-on-rails ruby validation activerecord