【发布时间】:2014-02-05 07:02:09
【问题描述】:
我正在尝试构建一个带有自动完成功能的表单,它将使用 Rails 4 在 select 上添加一个表单元素。 以下是模型(我使用的是 MongoID):
class Ingredient
include Mongoid::Document
field :name
field :unit
has_many :recipe_ingredients, validate: false
end
class RecipeIngredient
include Mongoid::Document
field :quantity
embedded_in :recipe
belongs_to :ingredient
end
class Recipe
include Mongoid::Document
field :name
embeds_many :recipe_ingredients
accepts_nested_attributes_for :recipe_ingredients, allow_destroy: true
end
自动完成 Coffeescript
jQuery ->
$('#ingredients_search').autocomplete(
source: (request, response) ->
$.ajax(
url: "/ingredients.json",
dataType: "json",
data: request,
success: (data) ->
response $.map data, (item) ->
label: item.name
value: item.name
_id: item._id
unit: item.unit
)
select: (event,ui) ->
$('#ingredients').append(ui.item.label)
);
搜索和使用自动完成功能可以正常工作,但我对如何动态创建 RecipeIngredient 对象并将配方和成分分配给它有点迷茫。
我尝试过使用嵌套表单 (http://railscasts.com/episodes/196-nested-model-form-revised?view=asciicast),但似乎无法正常工作。
任何指针都会有帮助。
谢谢, 雷米
【问题讨论】:
标签: jquery ruby-on-rails autocomplete ruby-on-rails-4 nested-forms