在我的 Rails 应用程序中添加:remote => true
到我的编辑表单时,提交工作正常,但现在我的程序不显示错误消息。我尝试了多种解决方案,但都没有奏效。谁能指出我解决这个问题的正确方向?如果条目保存成功,则会在 div 中添加一条通知消息,这是我在 edit.js.erb 中编写的。我还尝试将“错误消息”添加到错误消息 div 中,但@entry.errors.any?
在添加:remote => true
.
这是我要更新的表单中的编辑 div。
<div id="errors">
<% if @entry.errors.any? %>
<h2><%= pluralize(@entry.errors.count, "error") %> prohibited this entry from being saved:</h2>
<ul>
<% @entry.errors.full_messages.each do |msg| %>
<li><%= msg %></li>
<% end %>
</ul>
<% end %>
</div>
我也有它的部分内容,我的 edit.js.erb 尝试用新呈现的部分更新 div,但现在 @entry.errors.any?不再在这里返回 true .. 这也是我的控制器...
# GET /entries/1/edit
def edit
@entry = Entry.find(params[:id])
respond_to do |format|
format.html
format.js
end
end
def update
@entry = Entry.find(params[:id])
respond_to do |format|
if @entry.update_attributes(params[:entry])
format.html { redirect_to edit_entry_path(@entry), notice: 'Entry was successfully updated.' }
format.json { head :no_content }
else
format.html { render action: "edit" }
format.json { render json: @entry.errors, status: :unprocessable_entity }
end
end
end