2010-04-18 5 views
0

J'ai un modèle d'organisation qui a beaucoup d'utilisateurs grâce à des affiliations. Et, sous la forme de l'organisation (l'édition standard), j'utilise semanting_form_for et semantic_fields_for pour afficher les champs d'organisation et les champs d'affiliations. Mais je souhaite créer une forme séparée juste pour gérer les affiliations d'une organisation spécifique. J'essayais d'aller sur le contrôleur de l'organisation et de créer des méthodes edit_team et update_team puis sur les routes créer ces pages, mais ça devient un gâchis et ne fonctionne pas.Création d'une deuxième page de formulaire pour une relation has_many

suis-je sur la bonne voie?

Répondre

1

Oui, vous devez créer des méthodes de edit_team et update_team dans le contrôleur et les ajouter dans 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 } 

et cela suffit. Alors montrez les erreurs pourquoi cela ne fonctionne pas.

+0

Je rencontre un problème lors de la soumission du formulaire. Je cette route update_team_organization PUT /organizations/:id/update_team(.:format) {: controller => "organisations",: action => "update_team"} Et ma forme commence par: <% semantic_form_for update_team_organization_path fais | f | %> Le bouton submit doit appeler l'action update_team dans le contrôleur d'organisation, mais j'obtiens cette erreur: (voir le commentaire ci-dessous) –

+0

ActionController :: UnknownAction (Aucune action n'a répondu à 1. Actions: create, current_user, current_user_session, destroy , modifier, edit_team, index, logged_in ?, login_required, nouveau, redirect_to_target_or_default, exposition, mise à jour et update_team): l'URL dans le navigateur est: http: // localhost: 3000/organisations/1/edit_team donc il montre l'ID et non l'action, cela devrait être update_team. –

+0

Correction du problème avec ceci: <% semantic_form_for @organization,: url => {: action => "update_team"} do | f | %> –

Questions connexes