所以我设置了 best_in_place gem [https://github.com/bernat/best_in_place],但是当我尝试编辑的列看起来像title_name
并且发生错误时,我遇到了一个小问题它喜欢
'title_name can't be blank,is too short (minimum is 1 characters)'
我想编辑gem处理错误显示的方式,因此它会将_
替换为space
,并且可能会让它变得有点user-friendly
修改
检查响应我通过 Firebug 获取:
{"title_name":["can't be blank","is too short (minimum is 1 characters)"]}
宝石演示中的位置 http://bipapp.heroku.com/users/59
["Last name has invalid length","Last name can't be blank"]
有点不同......
EDIT2:
post.rb
class Post < ActiveRecord::Base
attr_accessible :post_id, :title_name, :total_items, :user_id
validates :title_name, :presence => true, :length => { :in => 1..50 }
belongs_to :user, :foreign_key => 'post_id'
self.primary_key = :post_id
def to_param
"#{post_id}"
end
end
答案 0 :(得分:0)
这实际上非常简单,与 best_in_pace gem没有任何关系。
使用以下命令修改文件 config / locales / en.yml
en:
activerecord:
models:
attributes:
post:
title_name: 'Title name'
现在,属性title_name
应替换为视图中的字符串'Title name'
。
注意:上面列出的方法会覆盖默认值,不设置默认值。
答案 1 :(得分:0)
解决方案:
我发现best_in_place gem使用以下方法显示保存未完成时的错误
respond_with_bip(@user
附加到format.json
format.json { respond_with_bip(@user) }
所以用这个代码替换我通过json显示错误的方式解决了这个问题。