現在、いくつかのレガシー コードをリファクタリングしようとしています。現在、次のようになっています。
コントローラ
def create
# do stuff
respond_to do |format|
format.html { do stuff }
format.js { render partial: 'stage_two', locals: { some instance variables } }
end
end
次に、次のものviews/controller_name/_stage_two.js.erb
があります。
$('.some_element').children().fadeOut( function() {
$('.some_element').children().remove();
$('.some_element').html("<%=j render partial: 'form', locals: { stuff } %>");
$('.some_element .stage_two').fadeIn();
});
したがって、基本的にコントローラー アクションは基本的に JavaScript をレンダリングします。そして、その特定のJavaScriptは、ページから要素を削除し、コンテンツを変更してからフェードインするだけです。これを行うより良い方法はありますか? 私は通常、javascriptがにあることを知っていapp/assets/javascripts
ます.