2010-10-09 5 views
0

je suit dans mon def créer contrôleur:Rails 3- Manipulation conditionnelle Créer dans un contrôleur

@photo = current_user.photos.create(params[:photo].merge(:project_id => params[:project_id]) 

Dans mes dossiers de photos de l'application sont valides si elles ont un project_id ou non ....

Mais j'ai besoin de mon instruction create pour ne pas faire d'erreur et travailler dans les deux cas. A. S'il y a un project_id param, insertit B. Dans le cas contraire, insérez la valeur NULL par défaut lors de la création du dossier

Quelle est la façon la plus intelligente Rails3 d'y arriver?

Merci

+0

Des idées? – AnApprentice

Répondre

0

Vous pouvez faire quelque chose comme:

<%= f.hidden_field :project_id, :value => PROJECT_ID_WHICH_CAN_BE_NULL_OR_NOT %> 

l'intérieur de votre vue, sous forme de photo. Le contrôleur serait alors:

@photo = current_user.photos.create(params[:photo]) 
1

Sauf si vous avez une validation ActiveRecord en place, la méthode de création ne devrait pas augmenter si une colonne est nulle.

Questions connexes