グループが興味を追加できるフォームが欲しいのですが、このフォームはオートコンプリートに役立つはずです。これは多対多の関係であるため、実装方法がわかりません
class Group < ActiveRecord::Base
attr_accessible :description, :name, :project_id, :interests
before_save :get_next_available_name
has_many :users
belongs_to :project
has_and_belongs_to_many :interests
end
class Interest < ActiveRecord::Base
attr_accessible :name
has_and_belongs_to_many :groups
end
私が持っているビューで:
<%= simple_form_for @group do |f| %>
<%= f.autocomplete_field :interests, autocomplete_interest_name_groups_path %>
<%= f.submit "Interesse eintragen" %>
<% end %>
もちろん、「rails g autocomplete:install」と入力しました。おそらくルートを編集して、これを routes.rb に追加する必要があります。
resources :groups do
get :autocomplete_interest_name, :on => :collection
end
更新: Saurabh が示唆したように、モデルではなくコントローラーに「autocomplete :interest, :name」を配置しました。
しかし、現在 2 つの問題があります。1 つ目: オートコンプリートが表示されません。2番目: 'ruby' Interestを追加してフォームを送信した後: 入力フィールドには次のように書かれています:
[#<Interest id: 38, name: "ruby", created_at: "2013-02-28 09:25:53", updated_at: "2013-02-28 09:25:53">]
もちろん、フィールド自体は空でなければなりません。
この gem が Rails 3.2 と互換性がない場合は、誰か教えてください...