rails link_stylesheet_tag помощник, выдающий синтаксическую ошибку - PullRequest
0 голосов
/ 12 апреля 2019

Я следовал руководству по реакторным рельсам (его можно найти здесь: https://www.pluralsight.com/guides/building-a-crud-interface-with-react-and-ruby-on-rails). Я использовал тот же код, что и руководство, чтобы понять суть реакции. В середине урока, когда я запускал проект, я бы получить синтаксическую ошибку на

<%= stylesheet_link_tag    'application', media: 'all', 'data-turbolinks-track': 'reload' %>  

это строка 8 внутри моего файла application.html.erb. Сначала я проигнорировал его, но после того, как я закончил, у меня возникла та же ошибка, поэтому я скопировал код учебника из репозитория github, предоставленного в конце руководства, но я до сих пор та же проблема.

Вот еще несколько деталей:

Rails называет эту ошибку как Execjs :: RuntimeError и сообщает, что

"SyntaxError: unknown: Unexpected token" 

сообщение в целом выглядит так:

ExecJS::ProgramError in Site#index
Showing /Volumes/DataDrive/item_cart/app/views/layouts/application.html.erb where line #8 raised:
SyntaxError: unknown: Unexpected token (27:2)
Extracted source (around line #8):
 -------------------------------------------------------------------------         
6 <%= csp_meta_tag %>

7 <%= stylesheet_link_tag    'application', media: 'all', 'data-turbolinks-track': 'reload' %>
8  <%= javascript_include_tag 'application', 'data-turbolinks-track': 'reload' %>
 -------------------------------------------------------------------------

вот как выглядит мой контроллер сайта:

 class SiteController < ApplicationController
  def index
  end
 end

my application.hrml.erb выглядит так:

<!DOCTYPE html>

<title>ItemCart</title>
<%= csrf_meta_tags %>
<%= csp_meta_tag %>

<%= stylesheet_link_tag    'application', media: 'all', 'data-turbolinks-track': 'reload' %>
<%= javascript_include_tag 'application', 'data-turbolinks-track': 'reload' %>

<%= yield %>
</body>
</html>

Я провел небольшой поиск по проблеме, и оказалось, что эта ошибка произошла по двум причинам (или предполагается, что это так)

1: что-то запуталось в конвейере активов линия.

1a) комментарий terickson001 к этому сообщению Rails - Связывание таблицы стилей и JavaScript в макете приводит к синтаксической ошибке - «Отсутствует ///»

1b) JavaScript не может быть запущен с ruby ​​

Вот мой список драгоценных камней:

   gem 'rails', '~> 5.2.3'
   gem 'responders'
   gem 'react-rails'
   gem 'sqlite3'
   gem 'puma', '~> 3.11'
   gem 'sass-rails', '~> 5.0'
   gem 'uglifier', '>= 1.3.0'
   gem 'mini_racer', platforms: :ruby
   gem 'coffee-rails', '~> 4.2'
   gem 'turbolinks', '~> 5'
   gem 'jbuilder', '~> 2.5'
   gem 'bootsnap', '>= 1.1.0', require: false

Я попытался установить гем 'coffee-script-source' & 'therubyracer' (с опцией ruby), установил узел и проверил его на терминале. Постройте и запустите новый терминал.

я не смог найти файл runtimes.rb в моем проекте rails, как упомянул Кевин П (четвертый вариант исправления) здесь ExecJS :: RuntimeError в Windows, пытающийся следовать rubytutorial

Мне действительно нужна помощь с этим. ОС моей системы - MAC. редактор возвышенный. браузер chrome. ruby 2.4.1 и рельсы 5.

пожалуйста, помогите мне с этим

...