РЕДАКТИРОВАТЬ: ищу это: http://diminishing.org/extending-formtastic-with-a-sprinkle-of-jquery (Если это сработает, я отвечу на свой вопрос)
Я начал создавать входящий и исходящий тип habtm (имеет много и принадлежитдля многих) сформировать через formtastic.Однако я бы хотел, чтобы оно было более гибким для пользователя, то есть если вы выберете имя на одной стороне, вы либо нажмете кнопку, которая сразу его перемещает (ajax по щелчку), либо после отправки формы
(Я использую formtastic с этим, но это ни к чему не обязывает в примерах)
То, с чем я борюсь, это кнопки javascript, in и out ..
Модель сравнения
class Comparison < ActiveRecord::Base
has_and_belongs_to_many :devices
end
Модель устройства
class Device < ActiveRecord::Base
has_and_belongs_to_many :comparisons
end
Контроллер сравнения
def edit
@comparison = Comparison.find(params[:id])
@devices = Device.find(:all, :select => 'id, device_name', :order => 'device_name')
@devices_selected = @comparison.devices.find(:all, :order => 'device_name', :conditions => ["id IN (?)", @devices])
@devices_not_selected = Device.find(:all, :order => 'device_name', :conditions => ["id NOT IN (?)", @devices_selected])
end
Сравнение Править Просмотр
<% semantic_form_for @comparison do |f| %>
<% f.inputs do %>
<%= f.input :comparison_name %>
<%= f.input :description %>
<h3>
Select Devices
</h3>
<% f.inputs :class => 'inline_fields' do %>
<%= f.input :devices,
:collection => @devices_not_selected,
:label_method => :device_name,
:label => 'Add Devices',
:input_html => { :size => 20 },
:include_blank => false,
:hint => 'Select devices from this list to compare to the parent device' %>
<%= f.input :devices,
:collection => @devices_selected,
:label_method => :device_name,
:label => 'Remove Devices',
:input_html => { :size => 20 },
:include_blank => false,
:hint => 'Deselect devices from this list to take them off the comparison' %>
<% end %>
<% end %>
<%= f.buttons %>
<% end %>