我想要一个表格,小组可以添加他们的兴趣,这个表格应该可以帮助他们自动完成。由于这是一个多对多的关系,我不明白如何实现它
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 所建议的,我将他“自动完成:兴趣,:名称”放在控制器中,而不是模型中。
但是我现在有两个问题:首先:没有自动完成功能。第二:添加“红宝石”兴趣并提交表格后:在输入字段中写下:
[#<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 不兼容,有人应该告诉我......