投稿

ラベル(Rails4)が付いた投稿を表示しています

Railsアプリケーションからturbolinksを外す

rails new hoge で生成されたファイルを眺めていく。hoge/app/views/layouts/application.html.erb が、Railsが出力するHTMLの外枠になるらしい。 <html> <head> <title>Hoge</title> <%= stylesheet_link_tag 'application', media: 'all','data-turbolinks-track' => true %> <%= javascript_include_tag 'application','data-turbolinks-track' => true %> <%= csrf_meta_tags %> </head> <body> <%= yield %> </body> </html> Railsの出力するHTMLは基本的にこのHTMLをテンプレートとして生成され、コンテンツ本体は <%= yield %> の部分に出力される模様。Rubyの文法は分からなくっても、内容は大体読めるけれど、data-turbolinks-trackって何よ?って調べたところ、HTMLレンダリング高速化とバーターで、UIのコーディング時にいろいろと考慮することが増えるシロモノであることが分かった。 Rails 4のturbolinksについて最低でも知っておきたい事 Rails4でturbolinksを謳歌するためのまとめ れっきとした設計思想があって、アプリケーションにデフォルトで組み込まれているのだとは思うけれど、実装するときの関心事や制約が増えるのはちょっといただけない。 動作の仕組みから察するに、ページごとに異なるJavaScriptを記述するRIAでは、HTMLレンダリング高速化の効果も低いだろうということで、turbolinks を完全に外すことにする。 以下がその手順。 まずは、turbolinks が組み込まれているかを以下で確認 ...

Rails 最初のアプリを作ってみる

Railsでとりあえず最初のアプリを作ってみる。適当にワークスペースのフォルダを切って、そこにアプリを作ることにする。フォルダはRubyのインストール場所に関係なく、どこでもいいようだ。 (somewhere)> cd workspace (somewhere)/workspace> rails new hoge 実行すると、フォルダに生成されたファイルの一覧と、生成されたwebアプリケーションが依存するライブラリの一覧が表示される。生成されたアプリはいきなり起動できると聞いていたので、試してみる。 (somewhere)/workspace> cd hoge (somewhere)/workspace/hoge> rails s するとのっけからエラーが出てしまった。 No timezone data source could be found. To resolve this, either install TZInfo::Data (e.g. by running 'gem install tzinfo-data') (以下、たくさん出る) このエラーはWindows 64bit版Ruby特有のもの。Windows環境には zoneinfoファイルが欠けているため、"tzinfo-data" で代用する必要があるらしい。rails new hoge を実行した際に生成されるファイルに、gemfile なるものが含まれるのだけれど、ここには生成したアプリが依存するライブラリが列挙されていて、そこに修正をあてる。workspace/hoge/gemfileの最終行を以下のように変更すれば問題ないようだ。 gem 'tzinfo-data', platforms: [:mingw, :mswin] ↓ gem 'tzinfo-data', platforms: [:mingw, :mswin, :x64_mingw] これだけだと単に依存関係の宣言を変えただけで、実際に依存するライブラリは以下のようにするとダウンロードしてリンクできる。 (somewhere)workspace/hoge>bundle update これでいよいよ起動できるようだ。...

Ruby on Railsにデータベース(SQLite)を導入する

RailsからDBにつないでみる。レジストリを汚したくないのでOracleやMySQLを避け、軽量な SQLiteを試す。SQLiteは、常駐プロセスではなくライブラリとして動作し、要はexeかdllを所定の場所に置いておけば、適宜外部から起動してレコードにアクセスができるらしい。都度起動するのでパフォーマンスは出ないだろうけど、試すだけなら十分だ。 Sqlite3はバイナリをパスの通ったところに置いておけば使えるそうなので、Ruby\bin に置いておくことにする。バイナリ SQLiteのホームページ から取得。Rubyは64bit版を入れていて、Sqlite3は32bit版ではあるが、特に問題はない筈。落としたのは以下の2つ。***はバージョン番号。 sqlite-dll-win32-x86-***.zip・・・Precompiled Binaries for Windows の32bit版DLL sqlite-shell-win32-x86-***.zip・・・Precompiled Binaries for Windows の32bit版EXE それぞれを解凍して、sqlite3.exe と sqlite3.dll を ruby/bin に入れておく。とりあえずこれでrubyコンソールからはパスが通っている筈。後者のEXEは不要ではあるが、rubyを経由せずにレコード操作ができるように入れておいた。 次にRubyからsqliteを叩けるようする。調べたところでは、 > set HTTP_PROXY=http://[USER]:[PASSWORD]@hoge:[PORT] > gem install sqlite3 とするだけ。プロキシ使ってなければ1行目は不要。 gemというのは、RailsではなくってRubyにいろいろなモジュールを追加したり削除したりするツールらしい。モジュールのバイナリは都度ネットのリポジトリかどっかを探して落としてきてくれるのね。 gem install [PACKAGE] ・・・指定したパッケージをインストールする gem uninstall [PACKAGE] ・・・指定したパッケージをアンインストールする gem update [PACKAGE] ・・・指定したパッ...

Ruby on Rails をWindows7(64bit)にインストールする

Railsが流行っているから簡単にできるのかと思ったら、意外に手間取った。 http://rubyinstaller.org/  から、Ruby 2.0.0-p481 (x64)をダウンロードしてインストール インストールするパスはデフォルトの c:\ruby200-x64 にした。パスに空白が入らない方が無難らしい。 同様に、  http://rubyinstaller.org/  から、DEVELOPMENT KIT なるものをダウンロード。この時、64bit版を選ばないといけないので注意する。 ダウンロードしたDEVELOPMENT KITは実行形式の圧縮ファイルなので解凍する。解凍先のパスは、 c:\ruby200-x64\devkit とした。 Rubyコンソールを立ち上げる。まずはプロキシを設定する。プロキシが無ければ指定は不要。 c:\ruby200-x64\devkit> set HTTP_PROXY=http://[USER]:[PASSWORD]@proxyhost:8080 続けて以下を実行 c:\ruby200-x64\devkit> ruby dk.rb init c:\ruby200-x64\devkit> ruby dk.rb install これでようやく Rails をインストールできるようになる。 c:\ruby200-x64\devkit> gem install rails --no-ri --no-rdoc Fetching: i18n-0.6.9.gem (100%) Successfully installed i18n-0.6.9 Fetching: thread_safe-0.3.4.gem (100%) Successfully installed thread_safe-0.3.4 Fetching: tzinfo-1.2.0.gem (100%) Successfully installed tzinfo-1.2.0 Fetching: minitest-5.3.4.gem (100%) Successfully installed minitest-5.3.4 Fetching: activesupport-4.1.1.gem (100%...