Я работаю над представлением для редактирования проекта, который содержит форму со всеми полями проекта, а для членов проекта я выставляю флажки.Обновить таблицу отношений
Когда форма отправлена и контроллер переходит на работу, я удаляю массив элементов из param, чтобы я мог правильно обновить проект. Однако мне интересно, какой код я должен использовать для обновления таблицы projects_users с членами (теперь в массиве @members)?
вид редактирования проекта:
<%= form_for @project do |f| %>
...
the rest of the form
...
<div class="checkbox">
<% @members.each do |user| %>
<%= check_box_tag "project[members][]", user.id, '1', :id => "user_#{user.id}" %>
<%= label_tag "user_#{user.id}", user.first_name + ' ' + user.last_name, :class => "checkbox" %>
<% end %>
</div>
...
the rest of the form
...
<% end %>
проекты контроллер:
...
def update
@project = Project.find(params[:id])
@members = params[:project].delete(:members)
if @project.update_attributes(params[:project])
... code for updating projects_users? ...
redirect_to users_projects_path
flash.now[:success] = 'Projektet redigerades.' # Not quite right!
else
render :action => "edit"
end
end
...
табличные projects_users:
t.integer "project_id"
t.integer "user_id"
использовать команду 'user_ids' атрибут проекта: переименовать check_box_tag в проекте "[user_ids] []"' check_box_tag, # ... ', а затем пусть это в params hash (не делайте 'params [: project] .delete (: user_ids)', пусть он в параметрах) – MrYoshiji
Еще раз спасибо! Вы должны преобразовать свой комментарий в ответ, чтобы я мог его принять :) – holyredbeard
Я только что написал как ответ, спасибо за репутацию сегодня! Ahah – MrYoshiji