.js.erb Ruby on Rails - PullRequest
       2

.js.erb Ruby on Rails

1 голос
/ 03 апреля 2012
  • У меня есть контроллер с именем: перечисление_controller.erb

     def show
       @base_url = request.env['HTTP_HOST']
       respond_to do |format|
         format.js { render :action => "show.js.erb" }
         format.html { render :action => "show.html.haml"}
       end
     end
    
  • , и у меня есть файл с именем js.erb show.js.erb

     alert("Hello");
    
  • при запуске action show Почему файл show.js.erb не работает?

Ответы [ 3 ]

0 голосов
/ 03 апреля 2012
  1. Rails - это легко, но не так просто, что вы можете начать писать код, не читая никаких документов.Вам следует заново изучить официальный учебник: http://guides.rubyonrails.org.

  2. Ваш код неверен.удалите его, а затем снова прочтите официальный учебник.или используйте код, сгенерированный scaffold.

  3. , когда вы хотите отобразить файл js, используйте

    http://localhost:xx/some_action.js

, чтобы Rails знал, что вы запрашиваете ресурс js,

0 голосов
/ 05 июня 2015

Если вы используете макет в контроллере, как

layout "foo/bar"

вы должны выполнить рендеринг без макета в вашем действии:

respond_to do |format|
 format.js{ render layout: false }
end
0 голосов
/ 03 апреля 2012

Я полагаю, что format.js относится к тому, что происходит, когда вы задаете параметр формата через запрос get, а не к каким файлам включать.

Вы не должны использовать ваш файл erb для файлов js, если вы не выводите json.Вы должны форматировать содержимое только там.

Вместо этого вам следует либо включить js-файлы в "app / assets / javascripts", либо "vendor / assets / javascripts", тогда вам необходимо убедиться, что ваши файлы включены как обычно с помощьютеги сценария.Например: = javascript_include_tag "map"

Затем, когда rails сделает все эти классные прекомпиляционные вещи, он свернет все в вашей папке ресурсов и папках вендора в один файл.Вы можете указать другое местоположение, если хотите.Rails выясняет, где находится файл, путем его поиска.Я считаю, что app / assets / просматривается сначала.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...