0

我对未设置外键的 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没有...

我的错误在哪里?

4

1 回答 1

0

2个想法:

1) 如果 DB 是 PostgreSQL,它可能会出现问题,它区分大小写并规范化为小写

2)您使用:IDSerie两次collection_select,而通常使用外键->主键,产生:IDSerie,..,:IDPreco而不是:IDSerie,..,:IDSerie

希望能帮助到你。

于 2013-10-29T11:55:39.370 回答