How can i display Rails error messages without brackets and quotes?
When a error message appears, it looks like:
["please fill out domain"]["please fill out email"]
How can i remove the brackets and the quotes?
Model
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 }
Controller
I’m specify the url of the template (see format.html) cause i’m using a different controller
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 %>
View
<div id="flash_messages"></div>
When you iterate over the full error messages, you will already receive clean texts
In your create.js.erb, write the iteration as below: