Riot.js/riot_js-railsの手直し の履歴(No.1)
更新- 履歴一覧
- 差分 を表示
- 現在との差分 を表示
- ソース を表示
- プログラミング/Riot.js/riot_js-railsの手直し へ行く。
概要†
rails から riot.js を使うための gem として、 riot_js-rails> というのがあるのですが、 環境によってどうもうまく動かないように思えたため、手直しできないか調べてみました。
症状†
$ ruby --version ruby 1.9.3p551 (2014-11-13 revision 48407) [x86_64-linux] $ rails new riot_js-rails_sample -B $ cd riot_js-rails_sample/ $ jed Gemfile gem 'riot_js-rails' $ bundle install $ cat Gemfile.lock ... DEPENDENCIES coffee-rails (~> 4.0.0) jbuilder (~> 1.2) jquery-rails rails (= 4.0.13) riot_js-rails sass-rails (~> 4.0.2) sdoc sqlite3 turbolinks uglifier (>= 1.3.0) BUNDLED WITH 1.11.2 $ rails generate controller main index create app/controllers/main_controller.rb route get "main/index" invoke erb create app/views/main create app/views/main/index.html.erb invoke test_unit create test/controllers/main_controller_test.rb invoke helper create app/helpers/main_helper.rb invoke test_unit create test/helpers/main_helper_test.rb invoke assets invoke coffee create app/assets/javascripts/main.js.coffee invoke scss create app/assets/stylesheets/main.css.scss $ jed config/routes.rb root 'main#index' $ rails s & $ wget -q -O - http://localhost:3000/ ... <h1>Main#index</h1> <p>Find me in app/views/main/index.html.erb</p> ... $ cat > app/assets/javascripts/test-tag.tag <test-tag> Ok! </test-tag> $ jed app/assets/javascripts/application.js + //= require riot + //= require riot-rails //= require_tree . $ wget -q -O - http://localhost:3000/ <script data-turbolinks-track="true" src="/assets/riot.js?body=1"></script> <script data-turbolinks-track="true" src="/assets/riot_rails.js?body=1"></script> <script data-turbolinks-track="true" src="/assets/main.js?body=1"></script> <script data-turbolinks-track="true" src="/assets/application.js?body=1"></script>
require_tree で test-tag.tag が読み込まれていません。
$ mv app/assets/javascripts/test-tag.tag app/assets/javascripts/test-tag.js.tag $ wget -q -O - http://localhost:3000/ <script data-turbolinks-track="true" src="/assets/riot.js?body=1"></script> <script data-turbolinks-track="true" src="/assets/riot_rails.js?body=1"></script> <script data-turbolinks-track="true" src="/assets/main.js?body=1"></script> <script data-turbolinks-track="true" src="/javascripts/test-tag.js.tag.js"></script> <script data-turbolinks-track="true" src="/assets/application.js?body=1"></script> $ wget -q -O - http://localhost:3000/javascripts/test-tag.js.tag.js Started GET "/javascripts/test-tag.js.tag.js" for 127.0.0.1 at 2016-07-01 13:55:32 +0900 ActionController::RoutingError (No route matches [GET] "/javascripts/test-tag.js.tag.js"): $ wget -q -O - http://localhost:3000/assets/test-tag.js.tag.js?body=1 Started GET "/assets/test-tag.js.tag.js?body=1" for 127.0.0.1 at 2016-07-01 13:56:24 +0900 ActionController::RoutingError (No route matches [GET] "/assets/test-tag.js.tag.js"):
test-tag.tag ではなく test-tag.js.tag としたところ、読み込もうとする姿勢は見られましたが、 /assets/ ではなく /javascripts/ が指定されており、なおかつ両方とも RoutingError になってしまいます。
ソースを確認†
$ cd .. $ git clone https://github.com/bjarosze/riot_js-rails.git Cloning into 'riot_js-rails'... remote: Counting objects: 180, done. remote: Total 180 (delta 0), reused 0 (delta 0), pack-reused 180 Receiving objects: 100% (180/180), 79.78 KiB | 90.00 KiB/s, done. Resolving deltas: 100% (61/61), done. Checking connectivity... done. $ cd riot_js-rails $ ls -a . .. .git .gitignore Gemfile README.md Rakefile lib riot_js-rails.gemspec test vendor $ git branch -m fix-asset-path $ git status On branch fix-asset-path Your branch is up-to-date with 'origin/master'. nothing to commit, working directory clean $
Counter: 8156 (from 2010/06/03),
today: 1,
yesterday: 2