困ったときのメモ ver.2.0

主に Ruby on Rails のメモ。など。

整理されていない走り書きメモ

devise入れたら

  rails g devise:install
  rails g devise user

modelとmigrationを好きなだけゴニョゴニョする。

  rake db:migrate
  rails g devise:views users

"config/initializers/devise.rb"に"config.scoped_views = true"ってしとく。
xhrリクエストでauthenticate_user!とかされても当然リダイレクトしないので、application_controllerとかメソッド作ってリダイレクトさせる。

kaminari入れたら

  rails g kaminari:config
  rails g kaminari:views default

acts-as-taggable-on入れたら

  rails g acts_as_taggable_on:migration
  rake db:migrate

タグ付けするモデルに(:タグ名複数形で)

    acts_as_taggable_on :tags

キャッシュするならフィールド追加(cached_タグ名単数形_list:string)

    rails g migration add_column_to_tables cached_tag_list:string
    rake db:migrate

typus入れたら

  rails g typus

スマホサイトのおやくそく

  <meta name="viewport" content="width=device-width, initial-scale=1.0, maximum-scale=0.6667, user-scalable=no">
  <meta name="apple-mobile-web-app-capable" content="yes">
  <meta name="format-detection" content="telephone=no"> 

レイアウトで切り替えるヘッダー

PCサイト用

  <link rel="stylesheet" href="http://twitter.github.com/bootstrap/1.3.0/bootstrap.min.css">

スマホ

  <link rel="stylesheet" href="http://code.jquery.com/mobile/1.0b3/jquery.mobile-1.0b3.min.css" />
  <script src="http://code.jquery.com/mobile/1.0b3/jquery.mobile-1.0b3.min.js"></script>

useful ヘルパー

  strip_tags(STRING)・・・・・・・・・・htmlタグを除去する。
  simple_format(STRING)・・・・・・・<p>~</p>で囲んで、安全なhtmlタグも使える。
  STRING.html_safe・・・・・・・・・・・・そのまま安全なhtmlタグも使える。

useful アクティブレコード・配列

  Array.find・・・・・・・・・・・・・・・・・・・・ブロックの結果がtrueを返すときその値を返す
  Array.select・・・・・・・・・・・・・・・・・ブロックの結果がtrueを返すものの配列を返す

useful モデル

検索はスコープで

  scope :search_title, lambda {|keyword| where('title like ?', "%#{keyword}%")}


前のレコード、次のレコードはメソッド

  def previous_record
    self.class.unscoped.where('created_at < ?', self.created_at).order(:created_at).last
  end
  def next_record
    self.class.unscoped.where('created_at > ?', self.created_at).order(:created_at).first
  end