&tag(Rails/Tips);
*目次 [#mcf1ff40]
#contents
*関連ページ [#xe9cf991]
-[[Rails]]

*参考情報 [#fd128caa]

*一般 [#s8c8eeb0]

**Railsのlibファイルの自動読み込みの設定 [#o31dbfaf]
-lib以下のファイルはapplication.rbで以下のように追加し、lib以下に規約に従ったrbファイルをつくる必要がある。
#pre{{
config.autoload_paths += %W(#{config.root}/lib)
config.autoload_paths += Dir["#{config.root}/lib/**/"]
}}
-規約に関しては以下のリンクが参考になる。
--[[Rails の自動読み込みの話 - そんなこと覚えてない:http://blog.eiel.info/blog/2013/09/07/autoload-rails/]]
--[[Auto-loading lib files in Rails 4 - Stack Overflow:http://stackoverflow.com/questions/19098663/auto-loading-lib-files-in-rails-4]]
-ただし、クラス名やモジュール名を明示的に参照しないと発生しないので、rbファイルに定義されたメソッドをいきなり使おうとしてもだめかもしれない(既存クラスを拡張したい場合など)。
#pre{{
Hoge       -> 'hoge.rb' を読み込む
Hoge::Mogu -> 'hoge/mogu.rb' を読み込む
HogeMogu   -> 'hoge_mogu.rb' を読み込む
}}

**開発環境で広告を表示しない [#k25cd98d]
-[[ruby on rails - Hide Adsense on localhost - Stack Overflow:http://stackoverflow.com/questions/1386195/hide-adsense-on-localhost]]

**ExecJSをインストールしたくない [#dd3e87c8]
-[[Railsを動かすproduction環境にJavaScriptエンジンを入れたくない - QA@IT:http://qa.atmarkit.co.jp/q/2123]]の下にある、precompileして送りこむのが簡単?
 rake assets:precompile 

**turbolinksを無効化する [#n1d7bbd1]
-[[Ruby - Rails 4 で turbolinks をオフにする方法 - Qiita:http://qiita.com/kazz187/items/12737363d62b9c91993c]]
-Gemfileから削除
-application.html.erb から turbolinks を削除。「"data-turbolinks-track" => true」を削除。
#pre{{
  <%= stylesheet_link_tag    "application", media: "all", "data-turbolinks-track" => true %>
  <%= javascript_include_tag "application", "data-turbolinks-track" => true %>
}}
-これに
#pre{{
  <%= stylesheet_link_tag    "application", media: "all" %>
  <%= javascript_include_tag "application" %>
}}
-application.jsからturbolinksを削除
#pre{{
//= require jquery
//= require jquery_ujs
//= require turbolinks <- 削除
//= require_tree .
}}

**モデルやコントローラーからActionView::Helpers::TextHelperに登録されているメソッドを呼び出す [#f77e9293]
-[[Railsでview以外、Controller内でhelperを使えるようにする - satoko's blog - s21g:http://blog.s21g.com/articles/682]]より、
-使いたいクラス内でincludeする。
     include ActionView::Helpers::TextHelper
*設定 [#t9020c9a]
**ちょっとした設定値を保存したい [#wef17e2e]
-development / productionごとに異なる設定値を保存する方法。[[ruby - Where can I store site-wide variables in Rails 4? - Stack Overflow:http://stackoverflow.com/questions/20857886/where-can-i-store-site-wide-variables-in-rails-4]]にあるように、development.rbで以下のように定義し、
 config.my_special_value = 'val'
-次のように参照するのが簡単か。
 Rails.application.config.my_special_value
-method_missingで勝手に値が保存される。

**ちょっとした設定値をDBに保存したい [#ke4fd182]
***[[rails-settings-cached]] [#sc76e172]

*ビュー [#jc904d18]
**link_toの引数展開 [#dc3b6946]
-[[Rails - link_to の引数と展開の違いまとめ - Qiita:http://qiita.com/somewhatgood@github/items/9890e75b4c195d47715a]]


*ログ [#fbdf2f39]
**assetログを抑制する [#w4c26cc8]
-[[RailsでjsやcssなどassetsファイルへのGETでログが見辛い場合の対処法 - Qiita:http://qiita.com/marqs/items/70588084a87fd0cb164e]]


*データ [#i336b693]

**初期データ投入 [#u599c907]
**初期データ投入(seeds.rb) [#u599c907]
db:seedを使ってデータを投入できる。
-db/seeeds.rbを編集する。
-db/seeds.rbを編集する。
#pre{{
Book.create(title: "title1", author: 'author1', summary: 'summary1')
Book.create(title: "title2", author: 'author2', summary: 'summary2')
}}
-rake db:seedを実行する。
 bundle exec rake db:seed RAILS_ENV=development

-再投入の場合は rake db:resetだけで良い。db:seedもまとめてやってくれる。
 bundle exec rake db:reset RAILS_ENV=development
**データベースのリセット/データの再投入 [#z713e7c0]
-db:resetがお手軽(db:reset = db:drop db:setup、db:setup=db:create db:schema:load db:seed)。[[Rails - データベースリセット - Qiita:http://qiita.com/m_ryou/items/3a0ca3d83fa4b329b979]]
 bundle exec rake db:reset RAILS_ENV=development


トップ   新規 一覧 検索 最終更新   ヘルプ   最終更新のRSS