Ho appena avviato la mia app Rails e ho il seguente problema: voglio utilizzare l'interfaccia utente jQuery e il completamento automatico e quindi ho utilizzato il gem rails3-jquery-autocomplete. Io uso anche formtastic per le mie forme di rotaie.rails3-jquery-id di riferimento autocomplete con formtastic
ho due modelli:
clienti:
class Customer < ActiveRecord::Base
has_many :carts
end
create_table :customer do |t|
t.column :lastname, :string
t.column :forename, :string
end
Carrello:
class Cart < ActiveRecord::Base
belongs_to :customer
end
create_table :cart do |t|
t.column :costumer_id, :integer
end
Come spiegato nel documento della gemma ho fatto la configurazione di completamento automatico nel mio CartController: autocomplete :customer, :lastname, :full => true
A mio avviso con il codice formtastico sembra this:
<%= 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' %>
La domanda principale che ho è, come gestire le cose di identificazione. Voglio dire, voglio memorizzare l'ID di riferimento del cliente nel mio modello di carrello e non il nome stesso. Ho riconosciuto la possibilità di utilizzare l'opzione :id_element
per fare riferimento a un campo di input ID per la memorizzazione dell'ID nel modulo. Ho capito che sembra esserci un problema con la combinazione di formtastic e ho trovato un potenziale solution.
Potrei farlo, con un <%= f.input :customer_id, :as => :hidden %>
, ma davvero non so cosa scrivere nella riga: <%= f.input :customer, :as => :autocom...
. È: il cliente la soluzione giusta per questo? Questo approccio mi avrebbe dato la seguente: "cart"=>{"customer"=>"26","customer_id"=>"0"}
Qualcuno ha un'idea, forse ho capito male tutto l'insieme: cosa id_element ...