2

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

「error opal [not found]」という行が表示される理由を知っている人はいますか?

4

1 に答える 1

2

これをテストしたところ、エラーを再現できました。

私が知る限り、opal-rails実際にはアセットジェネレーターを提供していません。assets_generator.rbRails の規則に従って、 の前後にファイルがあるはずopal-rails/lib/rails/generators/opal/assetsですが、ソース コードにはそのようなファイルはありません。

自分でアセット ジェネレーターをプロジェクトに追加することもできます (例については、 https://github.com/rails/coffee-rails/blob/master/lib/rails/generators/coffee/assets/assets_generator.rbおよび関連ファイルを参照してください)。アセットジェネレーターはどのように見えるでしょうか)。

もう 1 つの方法は、ファイルに設定config.app_generators.javascript_engine = :jsしてapplication.rbから、適切に名前を変更することです (たとえば、 にpersons.js.rb)。

于 2014-06-16T14:23:22.987 に答える