Ruby on Rails - 在填写表单时更新 collection_select
Posted
技术标签:
【中文标题】Ruby on Rails - 在填写表单时更新 collection_select【英文标题】:Ruby on Rails - Update collection_select while filling out the form 【发布时间】:2016-08-07 03:16:57 【问题描述】:我的应用程序工作正常,因为我有 4 条记录,我的表单中已经有相同的字段(:family_with
),用户需要填写 :name
。
(PS:我使用的是嵌套表单和茧宝石)。
这是我的表格:
= f.simple_fields_for :families do |family|
= f.text_field :name
= f.collection_select :family_with, Family.where(family_id: @family), :id, :name, include_blank: "Choose a name"
我正在寻找的是,如何在每次填充 f.text_field :name
时更新 collection_select :family_with
,以便我的 collection_select :family_with
可以填充已插入每个中的 名称 = f.text_field :name
.
我已经读到我可以使用 ajax 或 jQuery 来完成,但我会很感激任何代码解决方案。
【问题讨论】:
由于您希望family_with
输入根据text_field
值动态更新,因此您必须发送AJAX 或使用其他javascript。
【参考方案1】:
是这个吗?
= f.collection_select :family_with, Family.all.where(family_id: @family), :id, :name, include_blank: "Choose a name",selected: f.object.family_with
【讨论】:
Tnx,不,我不想显示selected
。我想在用户以相同的表单/页面插入name
时更新collection_select
。【参考方案2】:
不确定您认为什么是“代码解决方案”,但如果您的意思是通过 ruby/rails,那么您至少必须提交表单以获取 collection_select 中的任何更新
当我不得不对依赖/动态选择菜单做一些事情时,这个页面对我非常有用(涉及 jQuery):http://blog.kate-travers.com/dynamic-duos-dependent-select-with-jquery-and-rails/
【讨论】:
以上是关于Ruby on Rails - 在填写表单时更新 collection_select的主要内容,如果未能解决你的问题,请参考以下文章
如何使用 Ruby on Rails 5 将数据从 URL 提取到表单中
如何使用相同的表单在 ruby on rails 中创建和编辑