Rails: автоматическое включение javascript-файлов для action / controller? - PullRequest
3 голосов
/ 24 ноября 2011

Я новичок в разработке rails и перешел с cakephp.

В cakephp есть кое-что, что вы можете сделать в макете, чтобы автоматически включать любые файлы javascript, которые называются так же, как контроллер или действие.

Например, в www.website.com/post/add

и post.js, и post / add.js будут автоматически загружены, если они существуют.

Есть ли способ сделать это в рельсах?Я пытался сделать Google, но не знал, что искать, и не очень много.

(То же самое с CSS)

1 Ответ

7 голосов
/ 24 ноября 2011

Я не знаю о такой функциональности в рельсах, но вы можете просто сделать это в макете:

javascript_include_tag "#{controller.controller_name}"
javascript_include_tag "#{controller.action_name}"

он не будет проверять, существует ли файл, поэтому вы можете пойти дальше и создать помощник приложения, и переместить туда логику js, включающую проверку наличия файла:

def include_controller_js
 javascript_include_tag "#{controller.controller_name}" if File.exists?("#{Rails.root}/public/javascripts/#{controller_name}.js")
end

Но поскольку в rails 3.1 существует конвейер ресурсов с файлом манифеста application.js, так что, возможно, вы захотите прочитать об этом подробнее.

...