Railsアプリからデータを取得するために、クロスドメインのajax呼び出しを行っています。そのために、魅力のように機能する素晴らしい方法を見つけました。ただし、Rails はそれに付随するアソシエーションをレンダリングしません。その情報が必要なので、format.js を変更しようとしましたが、正しい出力のフォーマットにひどく失敗しました。
これは私が今私の旅行ショーメソッドに持っているものです(これは完全に機能します):
respond_to do |format|
format.html # show.html.erb
format.js { render_json @trip.to_json }
end
しかし、@trip.triplocations もレンダリングしたいです。しかし、方法がわかりません。これを知っている人はいますか?
念のため、私が見つけた素晴らしい方法を次に示します。
def render_json(json, options={})
callback, variable = params[:callback], params[:variable]
response = begin
if callback && variable
"var #{variable} = #{json};\n#{callback}(#{variable});"
elsif variable
"var #{variable} = #{json};"
elsif callback
"#{callback}(#{json});"
else
json
end
end
render({:content_type => :js, :text => response}.merge(options))
end
(小道具はhttp://www.sitepoint.com/json-p-output-with-rails/に移動します)
前もって感謝します!