:remote => true
Railsアプリで編集フォームに追加すると、送信は正常に機能しますが、プログラムにエラーメッセージが表示されなくなりました。私は複数の解決策を試しましたが、どれもうまくいきませんでした。誰かがこの問題を解決するために私を正しい方向に向けることができますか?エントリが正常に保存されると、通知メッセージがdivに追加されます。これはedit.js.erbに書き込んだものです。'エラーメッセージ'をエラーメッセージdivに追加しようとしましたが、追加しても@entry.errors.any?
trueが返されません: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