【发布时间】:2019-01-07 09:15:55
【问题描述】:
我很难弄清楚如何将Selectize.js 与rails 中的belongs_to 关联结合起来。我想做这样的照片:
我尝试过使用accepts_nested_attributes,但这似乎不适用于belongs_to 关系。
我尝试过像 railscast episode 这样的自动完成关联。
我真正想做的是使用 Selectize 样式集合选择来创建“扬声器”关联,如果它已经在数据库中,但如果它还不存在,则添加一个新关联。 Selectize 使我能够添加一个新记录,但我无法通过表单将其传递以在关联模型中创建新记录。
这是我的模型:
class Quote < ApplicationRecord
belongs_to :speaker, class_name: "Artist"
belongs_to :topic, class_name: "Artist"
end
class Artist < ApplicationRecord
has_many :spoken_quotes, class_name: "Quote", foreign_key: :speaker_id
has_many :topic_quotes, class_name: "Quote", foreign_key: :topic_id
end
还有我的表格:
<%= f.label :speaker, 'Who said it?' %>
<%= f.collection_select :speaker_id, Artist.order(:name), :id, :name, {prompt: 'Select an artist'}, {class: 'form-control select-artist'} %>
控制器:
如何通过 Selective 样式的集合选择通过 Quote.new 表单创建新的艺术家(作为“演讲者”)? Selectize 行为是我正在寻找的用户体验,我只是不知道如何通过 Quote 表单创建新的 Artist。
【问题讨论】:
-
为什么不将代码(如果可能,仅相关)添加到问题本身而不是附加链接?
-
感谢@JagdeepSingh 我用相关代码编辑了问题。
-
哪里坏了?您能否清楚区分此过程中的每个步骤,以及我们对此故障的线索是什么。 1)用户填写表格(它有效吗?是通过http提交的参数吗?) 2)rails控制器接收到请求(这里到底有什么不工作?或者这完全在你的控制器逻辑之外并且在gem内部? ) 3) 模型实例和保存(错误..?)
标签: javascript ruby-on-rails ruby forms selectize.js