2011-07-23 26 views
0

フォームとレールを合法化してエントリを有効として検出する際に問題があります。たとえば、フィールド「電子メール」を空白のままにして送信すると、<% if @user.email %>は技術的に空白であってもtrueを返します。ruby​​ on rails - 空白の場合にフォーム提出時にフィールドを無視する

フォームフィールドが空白の場合、または<% if @user.email %>の代わりにフィールドに物理文字が存在するかどうかを検出するためのデータベースにNULLの値を保持する方法はありますか?

ありがとうございます!あなたはblank?をチェックする必要があります

+0

ルビでは、 'nil'と' false'はfalseに等しく、その他のものはすべてtrueです。 @jameswが示唆したものに変更してください。 – rubish

答えて

3

<% if @user.email.blank? %> 

常に

エントリは、コントローラのアクションとフィールドに投稿されたとき、その後のparamsは、そのフィールドにnullを返します形に作られていない場合テーブルにそのまま残されます。

私はあなたに別の問題があると思われますが、上記があなたの症状を解決するでしょう。そのトリックは原因を調べることで、ログファイルのスタックトレースだけが、何が起きているのか、テーブルデータの調査を直接表示します。

関連する問題