我正在使用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>
在视图中?
你的问题听起来就像我的:仔细检查Railscast #302,我注意到错误消息正在打印,但在页面的左下角,很难看到,很容易错过
列出该页面的purr CSS
代码将格式化并在网页上更清楚地显示。
你应该添加正确的控制器动作
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; }
}
保重添加best_in_place。Purr插件代替jquery。Purr在application.js中。
//= require jquery
//= require jquery_ujs
//= require bootstrap
//= require best_in_place.purr
//= require best_in_place
//= require_tree .