トップ   編集 凍結 差分 バックアップ 添付 複製 名前変更 リロード   新規 一覧 単語検索 最終更新   ヘルプ   最終更新のRSS

Tag: Rails3

目次 Edit

参考情報 Edit

素朴な疑問 Edit

gitは必須なのか? Edit

  • プラグインをインストールするのに便利なだけで必須ではない。自分のソースは何で管理しようが自由。

アセットパイプラインってなにってなに? Edit

概要 Edit

URLとパス Edit

  • これがわかりづらい。assets直下のサブディレクトリだけ無視されるらしい。
    パスURL
    app/assets/images/hoge.png/assets/hoge.png
    app/assets/images/test/hoge.png/assets/test/hoge.png

Tips Edit

コンソールを使う Edit

  • コマンドラインで以下を実行
    rails console

DBコンソールを使う Edit

  • データベースごとの管理ツールを起動してくれる。
    rails dbconsole
  • sqlite3だと以下のように内容を確認可能。
    sqlite> .tables
    sqlite> select * from books;

development/productionでデータのコピー Edit

cloneを使う Edit

dump/loadを使う Edit

  • 13さいの備忘録 : SQLite3→MySQLへデータ移行にかかれてある方法。
  • Gemfileに以下を追加し bundle install。
    gem 'yaml_db' 
  • production環境のデータをdump。db/dump.yamlが作成される。
    rake db:dump RAILS_ENV=production
  • development環境にデータをload。
    rake db:load

Twitter Bootstrapを使う Edit

lib以下に置いた自作ライブラリをautoloadする Edit

  • application.rbに以下を追加。
       config.autoload_paths += %W(#{config.root}/lib)  # 追加
       config.autoload_paths += Dir["#{config.root}/lib/**/"] # 追加
    

Singletonオブジェクトを使う Edit

トラブルシューティング Edit

rake testが実行できない Edit

  • 次のエラーが表示される。
    MiniTest v1.6.0 is out of date. (RuntimeError)
  • 2011-10-20 - It’ll beに書いてある方法で対処できる。

MiniTestを明示する方法 Edit

  • Railsアプリのrootに存在するGemfileの末尾を次のように変更する。
    group :test do
      # Pretty printed test output
      gem 'turn', :require => false
      gem 'minitest'
    end
    

bundle関連 Edit

bundle install Edit

  • pathを指定したほうがいいらしい。
    bundle install --path vendor/bundle

rake aborted! cannot load such file -- bundler/setup Edit

Gemfile/Gemfile.lockを作り直したい Edit

  • rubyのバージョンが上がるなどして、開発中RailsアプリケーションのGemfile/Gemfile.lockの中にある各種パッケージのバージョンを一括更新する方法が知りたいが不明。
  • rails newしてそのGemfileを参考にして書き直すとか。

mysql2関連のエラー Edit

  • Please install the mysql2 adapter: `gem install activerecord-mysql2-adapter`というエラー。
  • Gemfileを編集し、"mysql2"→"ruby-mysql2"に変更するも修正できず。
  • vendorフォルダをいったん削除し、Gemfileを以下のように修正し、bundle installしなおした。
    gem 'mysql2', '~> 0.3.11'
    

モデル関連 Edit

Uninitialized Constantsと表示されモデルが参照できない。 Edit

  • モデルのファイル名がおかしいのかも。
  • ItemPrice→item_price.rbの関連がないと読み込まれないのかも。実行時に探している(?)

データベース関連 Edit

Cannotestablishconnectionがどうのこうの Edit

  • Gemfileに"mysql2"が含まれていなかったのが原因か。

モデルのattributesが食い違っている Edit

  • Rspecのテスト環境のときは〜_testデータベースが使われる。テーブル定義があっているかどうか確認。

プロダクション環境でエラー Edit

  • production環境でエラーになる場合、config.assets.compile = trueとか、config.serve_static_assets = falseをコメントアウトするとか。

ActionController::RoutingError (No route matches [GET] "/favicon.ico"): Edit

  • Twitter-Bootstrap-Railsを入れると発生?
  • favicon.icoが適切な場所にないのが原因。ActionController::RoutingError (No route matches [GET] "/favicon.ico") in Rails - Stack Overflow
  • 以下のようにapplication.html.erbでリンクしている場合
      <%= favicon_link_tag 'favicon.ico', :rel => 'shortcut icon' %>
  • app/assets/images/favicon.icoがないとエラーになる。
  • これでいいかと思ったら何かのタイミングでまたでるようになった。
トップ   編集 凍結 差分 バックアップ 添付 複製 名前変更 リロード   新規 一覧 単語検索 最終更新   ヘルプ   最終更新のRSS
Last-modified: 2013-05-16 (木) 17:21:43 (3d)