2010-05-26 7 views

Répondre

17

Votre vue (new.html.erb) quelque chose comme suit

<%= error_message_for :user %> 
<% form_for :user, :action=>"create" do|f|%> 

<%= f.text_field :login %> 

<% end %> 

code contrôleur (méthode create)

def create 
    @user=User.new(params[:user]) 
    if @user.save 
    redirect_to :action=>'index' 
    else 
    render :action=>'new' #you should render to fill fields after error message 
    end 
end 
1

Comme dans mon cas la forme était dans la vue d'un autre contrôleur J'ai utilisé flash pour stocker mes données et ensuite vérifier s'il y a des données dans le flash présent. Si oui, prenez ceci pour les valeurs par défaut de vos champs de saisie, si ce n'est pas simplement montrer ce que vous voulez montrer ensuite.

Ainsi extraits de mon code

flash[:date] = start_date 

# in the view where to form resides 
start_day = flash[:date].nil? nil : flash[:date].day 
# ... 
<%= select day start_day ... %> 

espoir qui aide certains d'entre vous ;-).

Questions connexes