【发布时间】:2013-06-18 17:57:41
【问题描述】:
我刚刚启动我的 Rails 应用程序,但遇到以下问题 - 我想使用 jQuery UI 和自动完成功能,因此使用了 gem rails3-jquery-autocomplete。我也将 formtastic 用于我的 rails 表单。
我有两个模型:
客户:
class Customer < ActiveRecord::Base
has_many :carts
end
create_table :customer do |t|
t.column :lastname, :string
t.column :forename, :string
end
购物车:
class Cart < ActiveRecord::Base
belongs_to :customer
end
create_table :cart do |t|
t.column :costumer_id, :integer
end
如 gem 文档中所述,我在 CartController 中进行了自动完成配置:autocomplete :customer, :lastname, :full => true
在我看来,formtastic 代码看起来像这样:
<%= semantic_form_for @cart do |f| %>
<%= f.inputs do %>
<%= f.input :customer,
:as => :autocomplete,
:url => autocomplete_customer_lastname_carts_path,
:id_element => '#cart_customer_id' %>
我的主要问题是,如何处理 id 的东西。我的意思是,我想将客户的参考 ID 存储在我的购物车模型中,而不是名称本身。我认识到可以使用:id_element 选项来引用一个id 输入字段,以便将id 存储在表单中。我发现,formtastic组合似乎有问题,并找到了潜在的solution。
我可以使用<%= f.input :customer_id, :as => :hidden %> 来做到这一点,但我真的不知道在该行中写什么:<%= f.input :customer, :as => :autocom...。 :customer 是正确的解决方案吗?这种方法会给我以下信息:"cart"=>{"customer"=>"26","customer_id"=>"0"}
有没有人有想法,可能我完全误解了整个 :id_element 的事情......
【问题讨论】:
标签: ruby-on-rails jquery-ui formtastic