В Rails 3.1 проблема с javascript_include_tag в application.html.erb - PullRequest
18 голосов
/ 02 сентября 2011

Я создал чистое и простое приложение на Rails 3.1 под названием demo1. Он содержит два контроллера - привет и до свидания. Я получаю следующую ошибку при попытке загрузить http://localhost:3000/say/hello:

ActionView::Template::Error (
  (in /home/me/dev/ruby/demo1/app/assets/javascripts/say.js.coffee)):
    3: <head>
    4:   <title>Demo1</title>
    5:   <%= stylesheet_link_tag    "application" %>
    6:   <%= javascript_include_tag "application" %>
    7:   <%= csrf_meta_tags %>
    8: </head>
    9: <body>
  app/views/layouts/application.html.erb:6:in     
`_app_views_layouts_application_html_erb___558576499_89622220'

Проблемная строка application.html.erb :

<%= javascript_include_tag "application" %>

Когда я создавал приложение с использованием Rails 3.0, эта строка была:

<%= javascript_include_tag :defaults %>

И это работало нормально. Фактически, когда я изменяю application.html.erb для использования: по умолчанию все работает, но я хочу использовать новые возможности Rails 3.1.

Кажется, я ничего не могу найти в Google по этому поводу, наверное, потому что Rails 3.1 только что был выпущен.

Кстати, я следую первой главе Agile Web Development с Rails (4-е издание), обновленной для Rails 3.1 book.

Некоторая информация об окружающей среде, которая может помочь в ответе на этот вопрос:

$ cat /etc/issue
Ubuntu 10.04.2 LTS \n \l

$ ruby -v
ruby 1.9.2p290 (2011-07-09 revision 32553) [i686-linux]

$ rails -v
Rails 3.1.0

Содержимое файла say.js.coffee :

# Place all the behaviors and hooks related to the matching controller here.
# All this logic will automatically be available in application.js.
# You can use CoffeeScript in this file: http://jashkenas.github.com/coffee-script/

Ответы [ 14 ]

0 голосов
/ 17 апреля 2014

изменить файл генератора (application.html.erb.tt) следующим образом:

<%= javascript_include_tag "application", "data-turbolinks-track" true %>
<%= javascript_include_tag :default, "data-turbolinks-track" true %>
0 голосов
/ 28 января 2014
devise_scope :user do
      get 'sign_out', :to => 'devise/sessions#destroy', :as => :destroy_user_session
   end

Если у вашего route.rb есть строка выше, просто удалите ее и запустите. Это то, что исправило мою проблему.

0 голосов
/ 12 апреля 2012

В случае использования linux (Ubuntu linux похож на мой), установите javascript runtime.Лучше всего выполнить приведенную ниже команду для установки,

apt-get install nodejs

или еще, для каждого нового создания проекта rails добавьте

gem 'therubyracer'в ваш gemfile и запустите пакетную установку

0 голосов
/ 30 сентября 2011

Еще одна вещь, которую вы можете попробовать, которая сработала для меня, это добавить гем json (и, возможно, также yajl-ruby) в ваш Gemfile.Я не очень понимаю, почему они не были установлены ранее, потому что:

рельсы зависят от пакета действий, который зависит от звездочек, который зависит от json и tilt

, а наклон зависит от yajl-ruby

Тем не менее, кажется, что многие зависимые самоцветы не были установлены!?

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