コントローラーアクション(some_controller_actionと呼びます)があり、json(javascriptが取得するため)をレンダリングすると同時に、some_controller_action.js.erbを使用してパーシャルを更新/再レンダリングする必要があります。
私のコード提案は次のようなものです:
def some_controller_action
#
# lots of code here
#
respond_to do |format|
render :json => {:something => something}, :status => :ok
format.html {
redirect_to somewhere
}
format.js
end
end
クライアント側のajax/javascriptはこのアクションをトリガーし、応答としてjsonを受け取ります。次のようになります。
someCoffeescripAction = ->
$.ajax
type: "post"
dataType: "json"
data:
some_data_name: some_data_content
url: "some_url/some_controller_action"
success: (data, status, xhr) ->
do_something_with_the_response(data)
error: (xhr, textStatus, errorThrown) ->
もちろん、同じアクションで2回レンダリングすることは許可されていないため、これは機能しません。しかし、それでは何をすべきでしょうか?