rails collection_select不设置外键

时间:2013-10-28 20:14:16

标签: ruby-on-rails-4 belongs-to

我遇到了没有设置外键的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不是......

我的错误在哪里?

1 个答案:

答案 0 :(得分:0)

2个想法:

1)如果DB是PostgreSQL,可能会出现问题,这是区分大小写的normalizes to lowercase

2)您在:IDSerie中使用collection_select两次,而usually外键 - &gt;使用主键,产生:IDSerie,..,:IDPreco而不是:IDSerie,..,:IDSerie

希望它有所帮助。