Я только что запустил свое приложение Rails, и у меня возникла следующая проблема: я хочу использовать пользовательский интерфейс jQuery и автозаполнение, и поэтому использовал гем rails3-jquery-autocomplete. Я также использую formtastic для своих рельсовых форм.
У меня есть две модели:
Клиент:
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
Как объяснено в документации драгоценного камня, я сделал конфигурацию автозаполнения в своем CartController: автозаполнение : клиент, : фамилия, : полный => true
На мой взгляд, с формастическим кодом это выглядит так:
<%= 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_element
для ссылки на поле ввода идентификатора для сохранения идентификатора в форме. Я понял, что, похоже, есть проблема с формообразующей комбинацией, и нашел возможное решение.
Я мог бы сделать это с :hidden %>
, но я действительно не знаю, что написать в строке: :autocom...
. Является ли :customer правильным решением для этого? Этот подход даст мне следующее: "cart"=>{"customer"=>"26","customer_id"=>"0"}
У кого-нибудь есть идея, возможно, я совершенно неправильно понимаю все :id_element вещь...