DRY Rails AJAX 请求

DRY a Rails AJAX Request

我 运行宁 Rails 4 有一些 AJAX 请求。我已经让它们达到 运行,它们运行良好。但是,我发现这些许多不同的请求具有非常非常相似的 js.erb 文件。

DRY 我的 js.erb 电话的最佳方法是什么?有没有一种方法可以简单地拥有一个并通过 format.js 响应调用它?

js.erb:

$("#overview").html("<%= j(render partial: 'profiles/show/overview') %>");
$("#profile").html("<%= j(render partial: 'profiles/show/profile') %>");
$("#interactions").html("<%= j(render partial: 'profiles/show/interactions') %>");
$("#actions").html("<%= j(render partial: 'profiles/show/actions') %>");

var accordionBody = $('.accordion > .accordion-container > .accordion-body'),
  accordionTitleTarget = $('.accordion > .accordion-container > .accordion-title > a');

if ($('.accordion').length) {
  accordionBody.hide();
}

accordionTitleTarget.on('click', accordionOnClick);

provisional_rating();
ready();

readyprovisional-rating 是在 application.js

中定义的函数

如果你想每次渲染相同的视图,你可以显式渲染:

format.js { render action: "profiles/show/action.js.erb" }

您需要事先设置任何实例变量,但这也将允许您为每个操作自定义渲染。