我在Rails 3.0.9中使用best_in_place gem。好像我一切正常。我按照安装说明操作,我可以点击一个项目,编辑它并用ajax保存所有内容。
但是,在测试验证功能但输入伪造数据时,不会显示错误消息。
我不确定这是否应该通过javascript神奇地完成,或者我是否应该提供某种div标签或者可以显示错误消息的东西。
在firebug中检查这个,我得到了正确的json响应。就我而言,我可以看到
[“债务长度无效”]
但这不会在任何地方呈现。
我还需要在视图中添加其他任何内容来呈现验证错误吗?它应该通过purr.js显示。除了将javascript文件放在我的公共目录中,我还需要做什么,在application.js中启动best_in_place并放入
<p>
<b>Debts:</b>
<%= best_in_place @prospect, :debts, :type => :input %>
</p>
在视图中?
答案 0 :(得分:3)
您的问题听起来就像我的:在Railscast #302仔细检查,我注意到错误信息是打印但在页面的左下角,很难看到,很容易错过。
列出的purr CSS
代码页面将格式化并在网页上更清晰地显示。
希望这有帮助。
答案 1 :(得分:2)
您应该添加正确的控制器操作
def update
..
respond_to do |format|
format.json { render json: @prospect }
end
end
或使用respond_with_bip
帮助程序。并且不要忘记定义.purr CSS类,“Best In Place”gem使用jQuery Purr插件来显示错误消息:
.purr {
position: fixed;
top: 30px;
right: 100px;
width: 250px;
padding: 20px;
background-color: #FCC;
border: solid 2px #C66;
&:first-letter { text-transform: uppercase; }
}
答案 2 :(得分:1)
保重。在application.js中添加best_in_place.purr插件而不是jquery.purr。它对我有用。
//= require jquery
//= require jquery_ujs
//= require bootstrap
//= require best_in_place.purr
//= require best_in_place
//= require_tree .