json
и js
- это два разных типа ответа, и они определены как разные типы MIME в Rails
Mime::Type.register "text/javascript", :js, %w( application/javascript application/x-javascript )
Mime::Type.register "application/json", :json, %w( text/x-json application/jsonrequest )
Даже если Json можно считать подмножеством JavaScript, не все ответы JavaScript на самом деле являются ответами Json.
Возможно, вы захотите ответить Json и Js одним и тем же действием.
Например, у вас может быть действие, которое Json отвечает на вызов API и JavaScript (возможно, с использованием RJS) на внутренний вызов Ajax.