1

括弧や引用符なしでRailsエラーメッセージを表示するにはどうすればよいですか?

エラー メッセージが表示される場合は、次のようになります。

["please fill out domain"]["please fill out email"]

ブラケットと引用符を削除するにはどうすればよいですか?

モデル

validates :domain,
          :presence => { :message => 'please fill out domain'},
          :uniqueness => { :message => 'domain already registered', :case_sensitive => true }
validates :email,
          :presence => { :message => 'please fill out email'},
          :uniqueness => { :message => 'email already registered', :case_sensitive => true }

コントローラ

format.html別のコントローラーを使用しているため、テンプレートの URL を指定しています (「 」を参照)。

def create

  respond_to do |format|
    # save form data
    @login = Login.new(params[:login])

    # if validation fails, throw error messages
    if !@login.save
      flash[:error] = @login.errors.to_a if @login.invalid?
    end

    # render landingpage
    format.html { render :template => 'landingpage/index' }
    format.js { render :action => 'create' }

  end

end

create.js.erb

<% if @login.errors.any? %>
  // error

  var error_string = "";
  <% @login.errors.values.each do |msg| %>
    error_string += "<%= msg %>";
  <% end %>

  $("#flash_messages").html(error_string);

<% else %>
 // no error
<% end %>

意見

<div id="flash_messages"></div>
4

1 に答える 1

2

完全なエラーメッセージを繰り返すと、すでにクリーンなテキストが届きます

create.js.erbで、次のようにイテレーションを記述します。

@login.errors.full_messages.each do |msg|
于 2012-10-24T13:12:58.793 に答える