Ich benutze die rails3-jquery-autocomplete gem und es funktioniert ordentlich, wenn es für Felder, die in dem Modell existieren. Allerdings habe ich versucht, es für Assoziationen zu verwenden, und ich sehe nicht, wie es funktioniert. Also lassen Sie uns erklären, was ich habe:Rails 3 Autocomplete Edelstein mit Associates_to Zuordnung
Modelle:
class Receipt < ActiveRecord::Base
belongs_to :user
end
class User < ActiveRecord::Base
has_many :receipts
end
-Controller
class Admin::ReceiptsController < AdminController
autocomplete :user, :name
def index
@receipts = Receipt.all
end
def show
@receipt = Receipt.find_by_id(params[:id])
end
def edit
@receipt = Receipt.find_by_id(params[:id])
@users = User.all
end
end
Ansicht (Form):
<%= form_for(@receipt, :url => admin_receipt_path, :html => { :multipart => true }) do |f| %>
<div class="clearfix">
<%= f.label :value, "Value($)" %>
<div class="input"><%= f.text_field :value %></div>
</div>
<div class="clearfix">
<%= f.label :user_id, "User" %>
<div class="input">
<%= f.autocomplete_field :user_id, autocomplete_user_name_admin_receipts_path %>
</div>
</div>
.....
Die Sache ist ... Ich kann Benutzernamen holen, aber ich möchte die Benutzer-ID tatsächlich dort speichern. Genauso möchte ich den Namen anzeigen, wenn der Administrator versucht, einen vorhandenen Beleg mit einem zugeordneten Benutzer zu bearbeiten. Etwas, das ich bin in der Lage mit diesem Tropfen zu tun unten:
<div class="clearfix">
<%= f.label :user_id, "User" %>
<div class="input"><%= f.select :user_id, @users.collect {|p| [ p.name, p.id ] },{:prompt => 'Select a User'} %></div>
</div>
ich versagt habe, um zu sehen, wie würde ich das mit diesem Juwel ....
wie Anmeldung, wo der Code für Ihren Controller ist? – Bnjmn
Hinzugefügt. Auch wenn ich glaube, das gibt nicht viele Informationen für das Problem, das ich versuche zu lösen ... – Nobita