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: 8521 (from 2010/06/03),
today: 1,
yesterday: 4