У меня есть две модели, Groups
и Employees
, которые связаны с помощью has_many
как добавить записи в has_many: через отношения
class Group < ActiveRecord::Base
has_many :groupizations
has_many :employees, :through => :groupizations
end
class Employee < ActiveRecord::Base
has_many :groupizations
has_many :groups, :through => :groupizations
end
Вопрос: В странице view/employees/new.html.erb
Я хочу, чтобы иметь возможность позволить пользователю Присвоить сотрудник для нескольких групп. Для этого я дам ему раскрывающийся список с множественным выбором, который будет заполнен всеми группами. , но как я могу захватить эту информацию в своем действии create
?
это то, что я до сих пор:
в Вид:
<% form_for @employee do |f| %>
<p>
<%= f.label :first_name %><br />
<%= f.text_field :first_name %>
</p>
<p>
<%= f.label "Group" %><br />
<%=select_tag 'groups[]', options_for_select(@groups.map {|s| [s.name, s.id]}), :multiple => true, :size =>8%>
</p>
<p><%= f.submit %></p>
Создать действие:
def create
@employee = Employee.new(params[:employee])
if @employee.save
flash[:notice] = "Successfully created employee."
redirect_to @employee
else
render :action => 'new'
end
end
Как добавить все группы, которые пользователь выбрал groupizations
это старый ответ, но это не добавляет работника ко всем t группы, которые он выбрал, и не влияет на внутреннее соединение. как это будет выполнено? – Eric