Как я могу создать пример приложения Rails с помощью Opal?

Я следую руководству на http://opalrb.org/docs/rails/ . Первый шаг проходит нормально:

rails new MyHappyApp --javascript=opal

Но когда я пытаюсь создать скаффолд...

rails g scaffold Persion name age:int
/home/jared/.rvm/gems/ruby-2.1.1@rails32/gems/opal-sprockets-0.0.1/lib/opal/sprockets/server.rb:81: warning: already initialized constant Opal::Server::Index::SOURCE
/home/jared/.rvm/gems/ruby-2.1.1@rails32/gems/opal-0.3.44/lib/opal/server.rb:90: warning: previous definition of SOURCE was here
    SECURITY WARNING: No secret option provided to Rack::Session::Cookie.
    This poses a security threat. It is strongly recommended that you
    provide a secret to prevent exploits that may be possible from crafted
    cookies. This will not be supported in future versions of Rack, and
    future versions will even invalidate your existing user cookies.

    Called from: /home/jared/.rvm/gems/ruby-2.1.1@rails32/gems/actionpack-3.2.0/lib/action_dispatch/middleware/session/abstract_store.rb:28:in `initialize'.
  invoke  active_record
  create    db/migrate/20140613172929_create_persions.rb
  create    app/models/persion.rb
  invoke    test_unit
  create      test/unit/persion_test.rb
  create      test/fixtures/persions.yml
   route  resources :persions
  invoke  scaffold_controller
  create    app/controllers/persions_controller.rb
  invoke    erb
  create      app/views/persions
  create      app/views/persions/index.html.erb
  create      app/views/persions/edit.html.erb
  create      app/views/persions/show.html.erb
  create      app/views/persions/new.html.erb
  create      app/views/persions/_form.html.erb
  invoke    test_unit
  create      test/functional/persions_controller_test.rb
  invoke    helper
  create      app/helpers/persions_helper.rb
  invoke      test_unit
  create        test/unit/helpers/persions_helper_test.rb
  invoke  assets
   error    opal [not found]
  invoke    scss
  create      app/assets/stylesheets/persions.css.scss
  invoke  scss
  create    app/assets/stylesheets/scaffolds.css.scss

Кто-нибудь знает, почему я получаю строку «опал ошибки [не найден]»?


person HappyCoder86    schedule 13.06.2014    source источник


Ответы (1)


Я только что проверил это и смог воспроизвести ошибку.

Насколько я могу судить, opal-rails на самом деле не предоставляет никаких генераторов активов. Следуя соглашениям Rails, должен быть файл assets_generator.rb на уровне opal-rails/lib/rails/generators/opal/assets или около него, но в исходном коде такого файла нет.

Вы можете самостоятельно добавить в проект генератор ассетов (см. https://github.com/rails/coffee-rails/blob/master/lib/rails/generators/coffee/assets/assets_generator.rb и связанные файлы для примера того, что такое ресурсы генератор будет выглядеть).

Другой альтернативой было бы просто установить config.app_generators.javascript_engine = :js в вашем файле application.rb, а затем просто переименовать его соответствующим образом (например, в persons.js.rb).

person Jacob Brown    schedule 16.06.2014
comment
Просто нажал простой генератор представлений в мастере opal-rails: рельсы/коммит/ - person Elia Schito; 09.10.2014