rails:在表单上显示错误消息

时间:2014-06-27 07:37:53

标签: ruby-on-rails form-for

我有一个' modif'动作,由链接激活,从我的数据库加载数据,然后通过“修改”显示表单。视图。表单链接到@newaut。 在此表单上,链接会导致“修改”错误。行动。它对输入的数据进行一些测试,并可能返回错误消息。 如果出现错误,如果我重定向到' modif'显示错误的操作,我的数据达到原始值,表单上的更改将丢失,并显示错误。 所以,我渲染我的修改视图。但@newaut不再存在,所以我必须用params数据重新加载它。结果还可以。 有没有办法只显示错误消息而不重新加载表单上输入的所有数据。 感谢。

    def modif
      @zgtitre="Modification d'un Auteur"
      @newaut=Auteur.find(params[:id])
    end

    def modifvalid
      @newaut=Auteur.find(params[:auteur][:id])
      @newaut[:autabr]= params[:auteur][:autabr].upcase
      @newaut[:autnom]= params[:auteur][:autnom]
      inderr=0
      flash[:meserr]=""
      if ..... then
        flash[:meserr]="xxxxx"
        inderr=1
      end
      if inderr==1 then
        @zgtitre="Modification d'un Auteur après erreur"
        render :modif
        return
      else
        @newaut.save
        redirect_to lister_les_auteurs_path
      end
    end

    <%= form_for @newaut, url: {action: "modifvalid"}, method: :post do |f| %>
    <%= f.hidden_field :id %>
    <div class="field">
      <%= f.label :Nom %><br>
      <%= f.text_field :autnom %>
      <%= flash[:meserr] %>
    </div>
    <div class="field">
      <%= f.label :Nom_court %><br>
      <%= f.text_field :autabr %>
    </div>
    <div class="commandes">
      <%= f.submit "Valider", class: "commandes_liens"%> 
      <%=link_to "Abandonner", lister_les_auteurs_path, class: "commandes_liens" %>
    </div>
    <% end %>

1 个答案:

答案 0 :(得分:1)

使用此:

<%= error_messages_for :auteur %>