コントローラーにはアクションがあります。ajax 経由で json 形式でのみ呼び出すことができます。
def update
@article = Article.find_by_id params[:id]
respond_to do |format|
if @article.update_attributes(params[:article])
flash[:message] = "good"
else
flash[:error] = @article.errors.full_messages.join(", ")
end
format.json { render :json => flash}
end
end
ページの一部
<% unless flash[:error].blank? %>
<%= flash[:error] %>
<% end %>
<% unless flash[:message].blank? %>
<%= flash[:notice] %>
<% end %>
<!-- page content goes -->
もちろん、ページにはメソッドを呼び出すbutton_to
withが含まれています。:remote=>true
update
肝心なのは、更新後に何も表示されないことです。JSON オブジェクトは間違いなく返されます。fireBug で確認できます。
問題は、フラッシュを正しく使用しているかどうかです。また、ページにメッセージを表示するにはどうすればよいですか? ajaxを忘れないでください。