OS X Mavericksでcommand line toolsインストール

Mavericksにしてからbrew doctorでcommand line toolsがないよっというwarningがでるようになった。

kawahiro@mac ~$ brew doctor
Warning: No developer tools installed.
You should install the Command Line Tools.
Run `xcode-select --install` to install them.

言われた通り、xcode-select --installを打つ。

kawahiro@mac ~$ xcode-select --install

以下の画面が立ち上がって、インストールボタンをクリックすると

f:id:kawahiro311:20131028141328p:plain

数分後インストール完了!

kawahiro@mac ~$ brew doctor
Your system is ready to brew.

Railsで連動プルダウン

都道府県を選んだら市区町村が絞り込まれるとかよくあるやつ。

今回は会社登録時に都道府県と市区町村をプルダウンで選べるみたいな設定で考える。

都道府県、市区町村、会社のモデルとそれぞれのリレーションはこんな感じ。

# ms_pref.rb
class MsPref < ActiveRecord::Base
  has_many :ms_cities
end

# ms_city.rb
class MsCity < ActiveRecord::Base
  belongs_to :ms_pref
end

# company.rb
class Company < ActiveRecord::Base
  belongs_to :ms_pref
  belongs_to :ms_city
end

まずはviewで市区町村のプルダウンをpartial化する。

# _form.html.slim
= form_for @company do |f|

   (省略...)

  .field
    = f.label :ms_pref
    = f.collection_select :ms_pref, MsPref.all, :id, :name
  .field
    = f.label :ms_city
    #cities_select
      = render partial: 'cities', locals: {ms_pref_id: MsPref.first.id}

   (省略...)

#  _cities.html.slim
= collection_select :company, :ms_city, MsCity.where(ms_pref_id: ms_pref_id), :id, :name

都道府県の変更を検知するためのjquery(coffeescript)を書く。

# companies.js.coffee
$(document).on 'change', '#company_ms_pref', ->
  $.ajax(
    type: 'GET'
    url: '/companies/cities_select'
    data: {
      ms_pref_id: $(this).val()
    }
  ).done (data) ->
    $('#cities_select').html(data)

あとは、ajaxでの値うけとり先のroutesの設定とcontrollerでそのメソッド定義して処理すれば完成!

# routes.rb
resources :companies do
  collection do
    get :cities_select
  end
end

# companies_controller.rb
def cities_select
  if request.xhr?
    render partial: 'cities', locals: {ms_pref_id: params[:ms_pref_id]}
  end
end

Rails楽しいー♡

2011年の振り返りと、2012年

2011年

2011年4月の頃、とあるベンチャーでインターンをしていた中で、静的なコンテンツを作る機会に巡りあいました。

その当時はhtmlすらナニソレみたいな状況で、調べながら作ったそれは全く凄いものでもないけど、創ることの面白さを実際に肌で触れた貴重な経験でした。

また次第に、自分が考えたアイデアが自分で作れないこと、自分がイイと思ったアイデアがリリースされていくことに自分自身への苛立ちを感じるようになりました。

 

そんな形でだんたんと、使う側から作る側になりたいと思い始めました。

 

そんな中、フィリピンで出会った赤い会社でのインターンが、これからたぶん作る側として生きていく中で原点となったと思います。

html,cssを分かった気でいた若造が、自分の実務レベルでの使えなさを知り、業務を通じて、unixのコマンド, emacs, cakephpなどのフレームワーク, gitなどのバージョン管理システム, プロジェクト管理などなどウェブについてたくさん新しいことを覚えました。

もちろんウェブについて以外のことも、あのチームからたくさんのことを学ばせてもらいました。

 

2011年は、ウェブにどっぶり浸かり始めた1年でした。

 

2012年は、勉強のための勉強だけではなく、何かサービスを作る中でたくさんのことを学ぶ1年にしたいと思っています。

 

2012年達成したいこと(目標)

  • サービスをリリースする

1人でもそうだけど、チームとして何かやってみたい!

これはまじでやる!たぶんubuntuにすると思うけど、linuxの何かをいれよーと思う。

  • toeic900点突破

toeicとか実際の英語力と関係ないじゃんとか思ってたけど、具体的な目標として。

  • 自作サーバー

これはまだわかんないけど、興味ある。音とかがネックだな。

 

 あとはgithubにどんどん作ったもの上げていきたいと思います!

 

それでは、今年もよろしくお願いします:)