2016-05-01 5 views
1

私は名前のテキストフィールドを持つフォームを持っていますが、そのフォーム上に存在確認があります。ユーザーが名前を入力するのを忘れた場合、テキストフィールドは赤色に変わりますが、これはすべて問題ありませんが、私のビューを少しきれいにしたいのですが、どうすればよいのでしょうか?多分ヘルパーですか?たぶん方法ですか?私はレールに少し新しく、この問題に関するいくつかのアドバイスを探しています。ここに私のコードがあります。ビューからエラー条件を移動します。 -Rails

VIEW

<% if f.object.errors[:name].present? %> 
    <%= f.text_field :name, :class => 'alert' %> 
    <div class="validation"> 
     <% f.object.errors[:name].each do |error| %> 
     <%= error %> 
     <% end %> 
    </div> 
     <% else %> 
     <%= f.text_field :name %> 
     <% end %> 

は、それは他のなステートメント場合は、かなり標準だが、私は、ビューのためにその少しあまりにも醜いと思うだろう。

答えて

0

モデル検証を使用しても同様の結果が得られます。モデルの存在確認が必要な場合は、フィールドを空白にすることはできません。これにより、フォームフィールドを空白のままにしておくことはできません。

例:ポストモデル - アプリ/モデル/ post.rb

class Post < ActiveRecord::Base 
    validates :title, :presence => true 
    validates :body, :presence => true 
end 

ユーザーが現在空のタイトルや本文のいずれかでフォームを送信しようとするならば、彼らは、フォームを再提出するように求められます小さなツールチップは "このフィールドに記入してください"と言っています。

これを実現するには、ロジックにはロジックは必要ありません。モデルの存在を検証するだけです。

+0

ツールチップのスクリーンショットへのリンク[!validation error](http://i.imgur.com/A9PyYuD.png) –

関連する問題