【问题标题】:How do you use a form select input for a polymorphic belongs_to association in Rails?如何在 Rails 中为多态的 belongs_to 关联使用表单选择输入?
【发布时间】:2012-02-21 02:00:29
【问题描述】:

我有一个 Article 模型,它有一个多态的 belongs_to 关联(资源)。我一直在尝试让它通过两个选择框从文章表单中设置关联,一个带有关联的类型,另一个带有关联的 id,如下所示。

= form_for @article do
  = f.select :resource_type, ...
  = f.grouped_collection_select :resource_id, ...

我的问题是,如果关联 id 存在于两个关联模型中,它不会在 grouped_collection_select 中选择正确的模型。

必须有更好的方法来做到这一点,但我现在似乎看不到它。

【问题讨论】:

  • 嗨@Matt Smith,您对上述问题有什么确切的解决方案吗?

标签: ruby-on-rails forms activerecord ruby-on-rails-3.1 polymorphic-associations


【解决方案1】:

处理它的一种方法是允许使用 javascript 函数在资源之间切换。您有一个绑定到一个 javascript 函数的链接,该函数将一个资源选择框换成另一个。

有一个 railscast 描述了如何做到这一点。忽略嵌套表单并添加/删除业务并专注于基本要素(javascript 绑定链接、辅助方法等):http://railscasts.com/episodes/197-nested-model-form-part-2

【讨论】:

  • 这有点像我倾向于但认为可能有另一种方式。我会试一试,看看效果如何。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2011-08-22
  • 2023-02-02
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多