如何在没有括号和引号的情况下显示 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 }
控制器
我指定了模板的 url(请参阅format.html
),因为我使用的是不同的控制器
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
创建.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>