2014年9月9日火曜日

[Rails]DB migrationした後にrollbackもできるメソッド

忘れやすいので備忘…
DB migrationした後にrollbackしてくれるメソッド

  • add_column
  • add_index
  • add_timestamps
  • create_table
  • create_join_table
  • remove_timestamps
  • rename_column
  • rename_index
  • rename_table


上記以外は、昔のまま self.up/downで実装すること。

http://blog.jnito.com/entry/20120326/1332767292

2014年8月15日金曜日

[Rails]スネークケースとキャメルケースの変換

クラス名を元に、ファイル名.rbに変換したい場合、 あるいはファイル名.rbからクラス名に変換したい場合等、 スネークケースとキャメルケースを変換したい場合があります。 そんな時、便利なメソッドがRailsに用意されています。
camelize と underscore

 キャメルケースへ
> "camel_case". camelize
=> "CamelCase"
スネークケースへ
> "CamelCase".underscore
=> "camel_case"

2014年3月17日月曜日

[Rails]schema.rbからの読み込み

schema.rbからの読み込み
$ bundle exec rake db:schema:load

schema.rbの作成
$ rake db:schema:dump

2014年3月5日水曜日

[Rails]コントローラの命名規約

コントローラの命名規約

モデルあり:複数形
モデルなし:複数形でなくても良い

scaffoldで複数形になるのはモデルを扱うから
なるほど。

参考
http://www.rubylife.jp/rails/controller/index1.html

2014年1月20日月曜日

LazyHighCharts

rubyでグラフが簡単に作れるモジュールを探すとヒットしたのがこのLazyHighCharts。
https://github.com/michelson/lazy_high_charts

Gemfileに下記を追加
gem 'lazy_high_charts
bundle updateの実行
今回は、下記がインスールされました。
lazy_high_charts (1.5.1)


Rails3.2を利用しています。
app/assets/javascripts/application.js に下記のhighchartsの3行を追加
//= require highcharts/highcharts
//= require highcharts/highcharts-more
//= require highcharts/highstock
//= require_tree .

設定はここまで。

ここまで終えたらグラフのソースを書きます。
Controller
  def sell
    @categories = ["apple", "orange", "banana", "strawberry", "melon", "lemon", "peach"]
    @data = [40, 10, 20, 50, 30, 10, 60]
   
    @h = LazyHighCharts::HighChart.new("graph") do |f|
      f.chart(:type => "bar")
      f.title(:text => "Sample bar")
      f.xAxis(:categories => @categories)
      f.series(:name => "Fruits",
               :data => @data)
    end
  end
View
<%= high_chart("sample", @h) %>


2014年1月16日木曜日

Google Maps APIの勉強会

GoogleAPIを使うことで、地図上に独自の情報を表示することができる!

本日の資料
https://gist.github.com/myamamic/65bf19b5aed1cb992708

アジェンダ(抜粋)
  • Google Maps API の紹介 (15分)
  • 地図を表示する (20分)
  • ルート検索APIを使ってみる (10分)
  • プレイス検索APIを使ってみる (15分)
  • プレイス検索とルート検索を組み合わせてみる (20分)
  • より使いこなすために (10分)
例)未来へのキオク

言葉
LatLng=Latitude(緯度)とLongitude(経度)を合わせたもの

GoogleMapsをサポートしているブラウザ

Google Maps API

下記が重要&必須

    <script type="text/javascript"
      src="https://maps.googleapis.com/maps/api/js?sensor=false">
    </script>


  • script タグ内の URL は、JavaScript ファイルの位置
  • Google Maps API を使用する上で必要なシンボルと定義がすべて入っている


TravelMode
現在はDrivingとWalkingの2種類だけが日本でサポートされている。
O google.maps.TravelMode.DRIVING
O google.maps.TravelMode.WALKING
X google.maps.TravelMode.BICYCLING
X google.maps.TravelMode.TRANSIT

学んだこと


  • マーカー(ピン)を落とす
  • 半径何メートル以内にあるお店や銀行など(type指定)を表示
  • 2拠点のルートを示す
  • 道順パネルを表示してどっち方向へ何メートルというのまで表示
  • それぞれの拠点情報はサーバに問い合わせ、返って来たデータを表示

感想
全体的にJavaScriptからAPIを呼び出してごりごり書く感じ。
ソースをコピペしただけだけど、なかなか面白い。