2011-03-03 11 views
0

このような初心者の質問ですが、私はこれを解決できないようです。フォームの上部にカスタムエラーメッセージを配置するにはどうすればよいですか?

私は、単純なRailsの2.3.5フォームがある場合:

- form_for CardSignup.new do |f| 
    = f.error_messages 
    .grid_1.alpha.align_right 
    = f.label :zip_code, 'zip' 
    .grid_1.omega.alpha 
    = f.text_field :zip_code, :style => "width: 75px;" 
    %div{:class => 'error_message'} 
    .clear 

がどのように私はむしろ、フォームの特定の場所に比べて、フォームの上部に表示さerror_messageを作るのですか?

私はこれを使っていました:= f.error_messagesしかし、フォームの上部に置かれても内容は表示されません。

+0

現時点では、エラーメッセージはどこに表示されますか? –

+0

ここで、divクラス 'error_message'はです。 – Trip

答えて

0

@card_signup = CardSignup.newをコントローラーに定義するのではなく、表示でCardSignup.newを使用しているのはなぜですか?あなたがそのようにやっている場合、あなたはどこでも、ビューファイルで

<%= @card_signup.error_messages %> 

または

<%= error_messages_for :card_signup %> 

を呼び出すことができ、それが@card_signupオブジェクトのエラーメッセージが表示され、あなたがこのようなあなたのフォームを呼び出すことができます。

<% form_for @card_signup do |f| %> 
1

hh私はこれも探していました。とにかくこれは私がそれを理解した方法です。 私たちがする必要があるのは、あなたのレイアウトファイルの一番上にあるflash [:alert]か何かのflash [:alert]を更新するだけです。

<%= simple_form_for(@boing) do |f| %> 
    <% if @boing.errors.any? %> 
    <% flash[:alert] = "stuff" %> 
    <% end %> 
.... 

は今、あなたは<%= flash[:alert] = "stuff" %>がそうでなければ、それは=%>両方の場所-インラインでと<%として最上部に表示されますしたくない場合は は今 すべてのuは、ブラウザで表示するためのものである行います。 役に立ったと思っています

関連する問題