我遇到了没有设置外键的collection_select问题。
我在遗留数据库上使用rails。所以我需要'翻译'这些名字。
我有这些课程:
class Graos::Preco < ActiveRecord::Base
# translate to legacy database
self.table_name = 'GRAOPreco'
self.primary_key = 'IDPreco'
# relacionamentos
belongs_to :Serie,
:class_name => 'Public::Serie',
:foreign_key => 'IDSerie'
end
class Public::Serie < ActiveRecord::Base
# translate to legacy database
self.table_name = 'GERSerie'
self.primary_key = 'IDSerie'
# relacionamentos
has_many :Precos,
foreign_key: 'IDSerie',
class_name: 'Graos::Preco'
end
和,
<%= collection_select(:Serie, :IDSerie, Public::Serie.graos_soja, :IDSerie, :SerieAcesso, { prompt: "Selecione uma Série" }, { class: "span6" }) %>
提交表单时,设置了Serie属性,但外键IDSerie不是......
我的错误在哪里?
答案 0 :(得分:0)
2个想法:
1)如果DB是PostgreSQL,可能会出现问题,这是区分大小写的normalizes to lowercase。
2)您在:IDSerie
中使用collection_select
两次,而usually外键 - &gt;使用主键,产生:IDSerie,..,:IDPreco
而不是:IDSerie,..,:IDSerie
希望它有所帮助。