Создание второй страницы формы для отношения has_many

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

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

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

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


person Victor Martins    schedule 18.04.2010    source источник


Ответы (1)


Да, вы должны создать методы edit_team и update_team в контроллере и добавить их в route.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 }

и этого достаточно. Так покажите ошибки, почему это не работает.

person fl00r    schedule 18.04.2010
comment
У меня проблема с отправкой формы. У меня есть этот маршрут update_team_organization PUT /organizations/:id/update_team(.:format) {:controller=›organizations, :action=›update_team} И моя форма начинается с: ‹% semantic_form_for update_team_organization_path do |f| %> Кнопка отправки должна вызывать действие update_team в контроллере организации, но я получаю эту ошибку: (см. комментарий ниже) - person Victor Martins; 19.04.2010
comment
ActionController::UnknownAction (Действие не отреагировало на 1. Действия: create, current_user, current_user_session, destroy, edit, edit_team, index, logged_in?, login_required, new, redirect_to_target_or_default, show, update и update_team): URL-адрес в браузере: : localhost:3000/organizations/1/edit_team Значит, он указывает на идентификатор, а не на действие, которое должно быть, update_team. - person Victor Martins; 19.04.2010
comment
Исправлена ​​проблема с этим: ‹% semantic_form_for @organization, :url =› { :action =› update_team } do |f| %› - person Victor Martins; 19.04.2010