1

所以我已经设置了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 处理错误显示的方式,以便它将_替换spaceuser-friendly

编辑:

检查我通过Firebug得到的响应是:

{"title_name":["can't be blank","is too short (minimum is 1 characters)"]}

在 gem 演示中 http://bipapp.heroku.com/users/59

["Last name has invalid length","Last name can't be blank"]

这有点不同......

编辑2:

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
4

2 回答 2

0

这实际上非常简单,与best_in_pace gem 无关。

修改文件config/locales/en.yml

en:
  activerecord:
    models:
      attributes:
        post:
          title_name: 'Title name'

现在该属性title_name应该替换为'Title name'您视图中的字符串。

注意:上面列出的方法覆盖了默认值,它没有设置默认值。

于 2012-08-19T22:31:05.990 回答
0

解决方案:

我发现best_in_place gem在保存未完成时使用以下方法显示错误

respond_with_bip(@user

附在format.jsonas

format.json { respond_with_bip(@user) }

所以用这段代码替换我通过json显示错误的方式解决了这个问题。

于 2012-08-20T07:35:26.537 回答