jQuery-ujsのインストール

Pocket

jQuery依存症患者:実際にjQueryは直感的にスラスラとJavaScriptが記述できるから本当に使いやすい。
automated installationに従ってインストールすると失敗する。
rails/jquery-ujs – GitHub

remove  public/javascripts/controls.js
remove  public/javascripts/dragdrop.js
remove  public/javascripts/effects.js
remove  public/javascripts/prototype.js
fetching  jQuery (1.4.4)
identical  public/javascripts/jquery.js
identical  public/javascripts/jquery.min.js
fetching  jQuery UJS adapter (github HEAD)
C:/Ruby187/lib/ruby/1.8/net/http.rb:586:in `connect': SSL_connect returned=1 err
no=0 state=SSLv3 read server certificate B: certificate verify failed (OpenSSL::
SSL::SSLError)
from C:/Ruby187/lib/ruby/1.8/net/http.rb:586:in `connect'
from C:/Ruby187/lib/ruby/1.8/net/http.rb:553:in `do_start'
from C:/Ruby187/lib/ruby/1.8/net/http.rb:542:in `start'
from C:/Ruby187/lib/ruby/1.8/open-uri.rb:242:in `open_http'
from C:/Ruby187/lib/ruby/1.8/open-uri.rb:616:in `buffer_open'
from C:/Ruby187/lib/ruby/1.8/open-uri.rb:164:in `open_loop'
from C:/Ruby187/lib/ruby/1.8/open-uri.rb:162:in `catch'
from C:/Ruby187/lib/ruby/1.8/open-uri.rb:162:in `open_loop'
from C:/Ruby187/lib/ruby/1.8/open-uri.rb:132:in `open_uri'
from C:/Ruby187/lib/ruby/1.8/open-uri.rb:518:in `open'
from C:/Ruby187/lib/ruby/1.8/open-uri.rb:30:in `open'
...

jQuery, GitHub, SSL / Repo issues / Discussion Area – GitHub Support
代替方法としてManual Installationに従って入れる。
まずはjqueryを本家から取ってきてjavascriptsの下に入れる。
prototype.js版のrails.jsをhttps://github.com/rails/jquery-ujs/blob/v1.4/src/rails.jsのrails.jsに置き換える。そのまま上書き。
以下のような行があるのでコメントを外す。%w内のjquery部分はさっき取ってきたファイル名に置き換える。
application.jsも指定すると二重に読み込まれるようになるので注意。

config.action_view.javascript_expansions[:defaults] = %w(jquery-1.4.4.min rails)

rails再起動。

サンプルアプリ


ビューには

<div>
  <%= file_field_tag 'pictures[]' %><br />
  <%= link_to 'Add', '', :id => 'add_file_link' %>
</div>

application.js内にadd_file_linkへのクリックイベントをバインド。

$(function () {
  $('#add_file_link').click(function () {
      $(this).before('<input id="pictures_" name="pictures[]" type="file" /><br />');
      return false;
  });
});


うまくいくとポコポコ追加されてきます。
Rails2まではRJSが人気だったみたいだけど、Rails3でヘルパーメソッドめちゃくちゃ変更されて、link_to_remoteとかなくなったみたい。今後はUnobtrusive JavaScriptとかいう考え方でprototype.js指向ではなくなるらしい。ビヘイビアとプレゼンテーションの分離が主な目的?

投稿者紹介

株式会社ユニキャスト
私たちは、テクノロジに魅せられた個性あふれるメンバーによって構成された茨城県日立市に本社を構えるベンチャー企業です。
”テクノロジを通して「驚き」と「感動」を創造し、人々の「夢」と「笑顔」を支えます。” の経営理念をモットーに明るい未来を描き、ワクワクする企画提案を続けて参ります。

コメントを残す

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です

このサイトはスパムを低減するために Akismet を使っています。コメントデータの処理方法の詳細はこちらをご覧ください