我在rails项目中使用simple_form作为我的表单构建器,使用RethinkDB作为数据库和NoBrainer ORM。我已经设置了模型以包含它们之间的关系,但是当尝试生成关联的选择下拉列表时,我收到错误关联:未找到货币。我哪里错了?
class Country
include NoBrainer::Document
belongs_to :currency
field :name, type: String
field :nationality, type: String
end
class Currency
include NoBrainer::Document
has_many :countries
field :name, type: String
field :code, type: String
field :symbol, type: String
end
= simple_form_for @country do |f|
= f.input :name, placeholder: 'e.g. Namibia', label: 'Country'
= f.input :nationality, placeholder: 'e.g. Namibian', label: 'Nationality'
= f.association :currency, placeholder: 'Please select one', label: 'Currency', label_method: :code
= f.button :submit
答案 0 :(得分:0)
你可能没有做错任何事。
请注意,关联助手目前仅在测试时使用 积极记录。它目前不适用于Mongoid和 根据您使用的ORM,您的里程可能会有所不同。
AFAIK您的关联已正确声明 - 但您可能想尝试指定要用于选项的集合。
= f.association :currency, placeholder: 'Please select one',
label: 'Currency',
label_method: :code,
collection: Currency.all
如果它仍然不起作用,您可能需要在Rails the lower-level collection input helpers方法之上使用collection_select
,这只是一些SimpleForm糖。
= f.input :currency_id,
label: 'Currency',
collection: Currency.all,
label_method: :code,
value_method: :id