2010-04-18 1 views
0

У меня есть модель Организации, в которой есть пользователи из нескольких дочерних компаний.Создание второй страницы формы для отношения has_many

И, в форме организации (стандартное редактирование), я использую semanting_form_for и semantic_fields_for для отображения полей организации и полей филиалов.

Но я хочу создать отдельную форму, чтобы обрабатывать принадлежность конкретной организации. Я пытался перейти к контроллеру организации и создать методы edit_team и update_team, затем на маршрутах создайте эти страницы, но он становится беспорядочным и не работает.

Я на правильном пути?

ответ

1

Да, вы должны создать edit_team и update_team методы управления и добавить их в routes.rb

#organizations_controller 
def edit_team 
    @organization = Organization.find(params[:id]) 
    @team = @organization.affiliations 
end 

def update_team 
    # updating affiliations 
end 

#routes.rb 
map.resources :organizations, :member => { :edit_team => :get, :update_team => :put } 

и этого достаточно. Поэтому показывайте ошибки, почему они не работают.

+0

У меня возникла проблема с отправкой формы. У меня есть этот маршрут update_team_organization PUT /organizations/:id/update_team(.:format) {: контроллер => "организация",: действие => "update_team"} И моя форма начинается с: <% semantic_form_for update_team_organization_path do | f | %> Кнопка отправки должна вызывать действие update_team в контроллере организации, но я получаю эту ошибку: (см. Комментарий ниже) –

+0

ActionController :: UnknownAction (Никакое действие не ответило на 1. Действия: create, current_user, current_user_session, destroy , редактировать, edit_team, индекс, logged_in ?, login_required, новый, redirect_to_target_or_default, шоу, обновление и update_team): URL-адрес в браузере: HTTP: // локальный: 3000/организации/1/edit_team Так он указывает на идентификатор, а не на действие, которое должно быть, update_team. –

+0

Исправлена ​​ошибка с этим: <% semantic_form_for @organization,: url => {: action => "update_team"} do | f | %> –