0

Mise à jour: toute éviscéré question plus description détailléeÉcrire les erreurs de validation appropriées?

Ok même question avec des noms différents.

Dans mon modèle, je valide la présence de.

class QuickFact < ActiveRecord::Base 
belongs_to :organization 

validates_presence_of :quick_fact, :content 

Mais si l'est vide, il les erreurs dues à:

Missing template organizations/_quick_fact_fields.erb 

Voici les prises. J'ai un modèle de formulaire imbriqué avec des parties dynamiquement ajoutées. Comme suivi d'ici:

http://railscasts.com/episodes/197-nested-model-form-part-2

C'est ce qui génère et appelle la _quick_fact_fields.erb. Mais cela fonctionne parfaitement et est situé dans quick_facts/_quick_fact_fields.html.haml

Mise à jour: Mon code contrôleur

organizations_controller.rb

def update 
    if @organization.update_attributes(params[:organization]) 
    .. 
    elsif params[:organization][:quick_facts_attributes] 
     flash[:notice] = 'QuickFacts successfully updated.' 
     redirect_to organization_quick_facts_url(@organization) 
    else 
     flash[:notice] = 'Organization was successfully updated.' 
     redirect_to :action => 'edit' 
    end 
    else 
    # re-render last form 
    .. 
    elsif params[:organization][:quick_facts_attributes] 
     render :template => "quick_facts/index" 
    else 
     render :action => 'edit' 
    end 
    end 
end 

Répondre

0

Vous l'avez. J'avais deux contrôleurs.

quick_facts_controller.rb et organizations_controller.rb

Une fois que je supprimé la fonction de mise à jour quick_facts_controller, cela a fonctionné correctement.

2

Il semble que vous essayez de rendre une my_custom_field partielle de l'un des vues des travailleurs trouvés dans app/views/worker, mais apparemment, il n'y a pas une telle partielle là-bas. Si vous nous montrez le code des vues et des contrôleurs pertinents, il sera plus facile de déterminer le problème exact. Sur une note de côté, vous pouvez simplement faire validates_presence_of :name au lieu de définir une méthode de validation personnalisée pour simplifier votre modèle. Cependant, ceci n'est probablement pas lié à l'erreur que vous décrivez et n'est qu'une suggestion d'amélioration générale.

+0

Réponse mise à jour. : D Merci pour la réponse. – Trip

+0

Eh bien, le même principe s'applique après vos modifications: Vous essayez de rendre partiel le 'quick_fact_fields' partiel d'une action dans votre' OrganisationsController', Rails va chercher votre partiel dans 'app/views/organisations' plutôt que' app/views/quick_facts'. Le problème réside dans votre code d'affichage et/ou de contrôleur; Si vous publiez ce code, il sera beaucoup plus facile de donner une réponse plus détaillée. –

Questions connexes