0

私たちのページからの簡単な方法は、welcome-controller が電子メールを追加する -> second_controller が E-Mail アドレスで新しいオブジェクトを作成することです。

ウェルカム ページを表示するウェルカム コントローラーがあります。このページでは、他のコントローラに渡す電子メール アドレスを入力できます。これconfig.browser_validations = falseに「通常の」テキストを入力すると、作成アクションでエラーが発生します。古いバージョンでは、simple_form がないと検証エラーが発生します。これを有効にすると、html5 検証が行われます。しかし、ブラウザがhtml5をサポートしていない場合は? 私たちのモデルはここにあります

validates :owner_email,   
        :presence => true,
        :format => { :with => /\A[A-Za-z0-9._%+-]+@[A-Za-z0-9.-]+\.[A-Za-z]+\z/ },
        :on => :create

ウェルカムビューはこちら

<p>
<h2>Create a list without registration.</h2>
<%= simple_form_for([@list], :html => {:class => 'well' }) do |f| %>
    <%= f.input :owner_email,  :label => false, :placeholder => 'Your Email.' %>
      <%= f.button :submit, "Create", :class => "btn-primary" %>
<% end %>
</p>

2 番目のコントローラーからの create-action はこれです

def create
# create a new list and fill it up
# with some default values
  @list = List.new(
    :title => "List", 
    :description => "Beschreibung",
    :owner_email => "test@domain.com",
    :admin_key => generate_admin_key)
  @list.update_attributes(params[:list])
  respond_with(@list) do |format| 
    format.html {#
      redirect_to :action => "admin", :id => @list.access_key, :status => 301}
  end 
end

html4 バージョンでエラー メッセージが表示されるようにするには、何を変更する必要がありますか? 誰もが私たちを助けてくれますか?

4

1 に答える 1

3

:message パラメータを追加するだけです。simple_form の設定を変更しない限り、メッセージ エラーはエラーのあるフィールドの右側に表示されます。

validates :owner_email,   
        :presence => true,
        :format => { :with => /\A[A-Za-z0-9._%+-]+@[A-Za-z0-9.-]+\.[A-Za-z]+\z/ ,
                     :message => 'Invalid e-mail! Please provide a valid e-mail address'},
        :on => :create
于 2012-06-30T15:45:17.157 に答える