<?xml version="1.0" encoding="utf-8" standalone="yes"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom" xmlns:content="http://purl.org/rss/1.0/modules/content/">
  <channel>
    <title>Rails on nnasaki のブログ</title>
    <link>https://blog.nnasaki.com/categories/rails/</link>
    <description>Recent content in Rails on nnasaki のブログ</description>
    <image>
      <title>nnasaki のブログ</title>
      <url>https://blog.nnasaki.com/ogp.png</url>
      <link>https://blog.nnasaki.com/ogp.png</link>
    </image>
    <generator>Hugo</generator>
    <language>ja-JP</language>
    <lastBuildDate>Wed, 30 Jan 2013 05:28:49 +0900</lastBuildDate>
    <atom:link href="https://blog.nnasaki.com/categories/rails/index.xml" rel="self" type="application/rss+xml" />
    <item>
      <title>The RSpec Book 読書記録(2)</title>
      <link>https://blog.nnasaki.com/entry/2013/01/30/052849/</link>
      <pubDate>Wed, 30 Jan 2013 05:28:49 +0900</pubDate>
      <guid>https://blog.nnasaki.com/entry/2013/01/30/052849/</guid>
      <description>&lt;p&gt;&lt;a href=&#34;http://d.hatena.ne.jp/keyword/Rails&#34;&gt;Rails&lt;/a&gt; に入ったとたんにはまりだしたｗ&lt;/p&gt;
&lt;p&gt;まず、19章で環境のセットアップが本書と異なる。
本書は &lt;a href=&#34;http://d.hatena.ne.jp/keyword/Rails&#34;&gt;Rails&lt;/a&gt; 3.0.0, cucumber-&lt;a href=&#34;http://d.hatena.ne.jp/keyword/rails&#34;&gt;rails&lt;/a&gt; 0.3.2 となっており、自分は &lt;a href=&#34;http://d.hatena.ne.jp/keyword/Rails&#34;&gt;Rails&lt;/a&gt; 3.2.11, cucumber-&lt;a href=&#34;http://d.hatena.ne.jp/keyword/rails&#34;&gt;rails&lt;/a&gt; は 1.3.0 をインストールした。
そうしたところ、&lt;code&gt;web_step.rb&lt;/code&gt;が最新の cucumber には入っていないらしい。&lt;/p&gt;
&lt;p&gt;20章から急に駆け足になる。序盤の丁寧な説明は全くなく、サンプルコードをダウンロードして後はよろしく見てくれというスタンスっぽい。&lt;a href=&#34;http://d.hatena.ne.jp/keyword/%A5%BD%A1%BC%A5%B9%A5%B3%A1%BC%A5%C9&#34;&gt;ソースコード&lt;/a&gt;は  &lt;a href=&#34;http://pragprog.com/titles/achbd/source_code&#34;&gt;http://pragprog.com/titles/achbd/source_code&lt;/a&gt; からダウンロードできる。&lt;/p&gt;
&lt;p&gt;おかげでいろいろハマッタのでメモしておく。&lt;/p&gt;
&lt;h2 id=&#34;attr_accessible-が必要&#34;&gt;attr_accessible が必要&lt;/h2&gt;
&lt;p&gt;&lt;a href=&#34;http://d.hatena.ne.jp/keyword/Rails&#34;&gt;Rails&lt;/a&gt; 3.2 あたりからセキュリティ強化のため、フォームからモデルの&lt;a href=&#34;http://d.hatena.ne.jp/keyword/%A5%A4%A5%F3%A5%B9%A5%BF%A5%F3%A5%B9&#34;&gt;インスタンス&lt;/a&gt;変数にアクセスする場合は、明示的に attr_accessible をつける必要があるらしく追加した。&lt;/p&gt;
&lt;p&gt;model/genre.rb&lt;/p&gt;
&lt;pre tabindex=&#34;0&#34;&gt;&lt;code&gt;`class Genre &amp;lt; ActiveRecord::Base
  has_and_belongs_to_many :movies
  attr_accessible :name
end
`
&lt;/code&gt;&lt;/pre&gt;&lt;p&gt;model/movie.rb&lt;/p&gt;
&lt;pre tabindex=&#34;0&#34;&gt;&lt;code&gt;`class Movie &amp;lt; ActiveRecord::Base
  has_and_belongs_to_many :genres
  attr_accessible :title, :release_year, :genres
      ....
`
&lt;/code&gt;&lt;/pre&gt;&lt;h2 id=&#34;migrateに余計なカラムつけない&#34;&gt;migrateに余計なカラムつけない&lt;/h2&gt;
&lt;p&gt;has_and_belongs_to_many にタイムスタンプは不要となったので削る&lt;/p&gt;
&lt;p&gt;db/migrate/20130129180816_create_genres_movies.rb&lt;/p&gt;
&lt;h2 id=&#34;typo&#34;&gt;&lt;a href=&#34;http://d.hatena.ne.jp/keyword/TYPO&#34;&gt;TYPO&lt;/a&gt;。。。&lt;/h2&gt;
&lt;p&gt;意気揚々と&lt;code&gt;rake cucumber&lt;/code&gt;するもエラー。&lt;/p&gt;
&lt;pre tabindex=&#34;0&#34;&gt;&lt;code&gt;  Scenario: Create movie in genre                        # features/create_movie.feature:7
        Given a genre named Comedy                           # features/step_definitions/genre_steps.rb:9
        When I create a movie Caddyshack in the Comedy genre # features/step_definitions/movie_steps.rb:9
        Then Caddyshack should be in the Comedy genre        # features/step_definitions/movie_steps.rb:18
          undefined method `movies&amp;#39; for #&amp;lt;Genre:0x007f839de03260&amp;gt; (ActionView::Template::Error)
&lt;/code&gt;&lt;/pre&gt;&lt;p&gt;どうやら、genre.moviesでエラーになっている。&lt;a href=&#34;http://d.hatena.ne.jp/keyword/TYPO&#34;&gt;TYPO&lt;/a&gt;してしまって&lt;code&gt;has_and_belongs_to_many :moveis&lt;/code&gt; としてしまいエラーが発生していた movies に直した。&lt;/p&gt;</description>
    </item>
    <item>
      <title>The RSpec Book 読書記録(1)</title>
      <link>https://blog.nnasaki.com/entry/2013/01/27/013805/</link>
      <pubDate>Sun, 27 Jan 2013 01:38:05 +0900</pubDate>
      <guid>https://blog.nnasaki.com/entry/2013/01/27/013805/</guid>
      <description>&lt;p&gt;ちょこちょこ &lt;a href=&#34;http://d.hatena.ne.jp/keyword/Rails&#34;&gt;Rails&lt;/a&gt; をいじる機会が多くなってきたので、やっぱりテスト書かなくちゃと思って The &lt;a href=&#34;http://d.hatena.ne.jp/keyword/RSpec&#34;&gt;RSpec&lt;/a&gt; Book を購入しました。（たまたま&lt;a href=&#34;http://d.hatena.ne.jp/keyword/%E6%C6%B1%CB%BC%D2&#34;&gt;翔泳社&lt;/a&gt;のポイントをいただいたというのも大きいけど）&lt;/p&gt;
&lt;p&gt;[&lt;/p&gt;
&lt;figure class=&#34;figure-image figure-image-fotolife&#34;&gt;&lt;img src=&#34;http://ecx.images-amazon.com/images/I/51-3T735zLL._SL160_.jpg&#34; class=&#34;hatena-asin-detail-image&#34; alt=&#34;The RSpec Book (Professional Ruby Series)&#34; title=&#34;The RSpec Book (Professional Ruby Series)&#34;&gt;&lt;figcaption&gt;The RSpec Book (Professional Ruby Series)&lt;/figcaption&gt;&lt;/figure&gt;
&lt;p&gt;](&lt;a href=&#34;http://www.amazon.co.jp/exec/obidos/ASIN/4798121932/hatena-blog-22/)%5BThe&#34;&gt;http://www.amazon.co.jp/exec/obidos/ASIN/4798121932/hatena-blog-22/)[The&lt;/a&gt; RSpec Book (Professional Ruby Series)](&lt;a href=&#34;http://www.amazon.co.jp/exec/obidos/ASIN/4798121932/hatena-blog-22/)-&#34;&gt;http://www.amazon.co.jp/exec/obidos/ASIN/4798121932/hatena-blog-22/)-&lt;/a&gt; 作者: David Chelimsky,Dave Astels,Zach Dennis,角谷　信太郎,豊田　祐司,&lt;a href=&#34;http://d.hatena.ne.jp/keyword/%B3%F4%BC%B0%B2%F1%BC%D2%A5%AF%A5%A4%A1%BC%A5%D7&#34;&gt;株式会社クイープ&lt;/a&gt;- 出版社/メーカー: &lt;a href=&#34;http://d.hatena.ne.jp/keyword/%E6%C6%B1%CB%BC%D2&#34;&gt;翔泳社&lt;/a&gt;- 発売日: 2012/02/22- メディア: 大型本- 購入: 6人 クリック: 129回- &lt;a href=&#34;http://d.hatena.ne.jp/asin/4798121932/hatena-blog-22&#34;&gt;この商品を含むブログ (13件) を見る&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;タイトルは &lt;a href=&#34;http://d.hatena.ne.jp/keyword/RSpec&#34;&gt;RSpec&lt;/a&gt; とあるけど、前書きにあるとおり Cucumber も出てくるし、BDD の側面が強い。ちゃんと BDD と TDD のサイクルをどう回すか、&lt;a href=&#34;http://d.hatena.ne.jp/keyword/%A5%A2%A5%B8%A5%E3%A5%A4%A5%EB&#34;&gt;アジャイル&lt;/a&gt;開発とはまで出てきて、良いことが書いてある。&lt;/p&gt;
&lt;p&gt;さて、目的の &lt;a href=&#34;http://d.hatena.ne.jp/keyword/Rails&#34;&gt;Rails&lt;/a&gt; については前半は出てこなくて、19章以降になる。ここで Gemfile に Cucumber を書いてインストールするんだけど、本書のままだと &lt;a href=&#34;http://d.hatena.ne.jp/keyword/Rails&#34;&gt;Rails&lt;/a&gt; 3.2.11 でうまく動かなかったのでメモしておく。&lt;code&gt;cucmber-rails&lt;/code&gt;と&lt;code&gt;database_cleaner&lt;/code&gt;をtestグループにのみ含めるのがポイント。&lt;/p&gt;
&lt;pre tabindex=&#34;0&#34;&gt;&lt;code&gt;`group :development, :test do
  gem &amp;#34;rspec-rails&amp;#34;
  gem &amp;#34;webrat&amp;#34;
end

group :test do
  gem &amp;#34;cucumber-rails&amp;#34;
  gem &amp;#39;database_cleaner&amp;#39;
end
`
&lt;/code&gt;&lt;/pre&gt;&lt;hr&gt;</description>
    </item>
    <item>
      <title>年末年始にやったことメモ</title>
      <link>https://blog.nnasaki.com/entry/2013/01/09/231928/</link>
      <pubDate>Wed, 09 Jan 2013 23:19:28 +0900</pubDate>
      <guid>https://blog.nnasaki.com/entry/2013/01/09/231928/</guid>
      <description>&lt;p&gt;せっかくの休みなのに、所用で友人との忘年会2件ぐらい参加できなかったので黙々とプログラミングをするとか、とても勿体ない年末年始を過ごした。&lt;/p&gt;
&lt;p&gt;忘れないうちにやったことと感想をメモしておく。iOS と Play Framework と &lt;a href=&#34;http://d.hatena.ne.jp/keyword/Rails&#34;&gt;Rails&lt;/a&gt; をやった。&lt;/p&gt;
&lt;h2 id=&#34;ios&#34;&gt;iOS&lt;/h2&gt;
&lt;p&gt;2歳の息子が電車とか車が大好きなので、あいうえお順に電車を表示するアプリを作った。単純に page based application で写真を表示するようにしただけ。写真は &lt;a href=&#34;http://d.hatena.ne.jp/keyword/wikipedia&#34;&gt;wikipedia&lt;/a&gt; から拾ってきた。写真のライセンスを確認していなかったので、ソース公開は現時点でちょっと控える。写真のライセンスを確認したら公開したい。&lt;/p&gt;
&lt;p&gt;今後やりたいことは２つある。&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;起動時にメモリにガッって、全写真を読み込むのでとてもよろしくない。Core Data やらを勉強してページごとに動的に読むように改善したい。&lt;/li&gt;
&lt;li&gt;写真のリサイズは iOS 6 だと自動でやってくれるけど、&lt;a href=&#34;http://d.hatena.ne.jp/keyword/iOS%205&#34;&gt;iOS 5&lt;/a&gt; だとやってくれないのでなんとかしたい。でも面倒なので iOS 6 な &lt;a href=&#34;http://d.hatena.ne.jp/keyword/iPad&#34;&gt;iPad&lt;/a&gt; を購入して息子に与えてしまった。お金で解決できることはお金で解決してしまうというのが最近のモットー。ｳﾞｧｲﾔｲﾔｲﾔｲﾔｰ、&lt;/li&gt;
&lt;/ul&gt;
&lt;h2 id=&#34;play-framework&#34;&gt;Play Framework&lt;/h2&gt;
&lt;p&gt;いまさらながら、Web+DB vol 71 を見ながら写経してみた。やってみた感じ、View は Razor なので &lt;a href=&#34;http://d.hatena.ne.jp/keyword/ASP.NET%20MVC&#34;&gt;ASP.NET MVC&lt;/a&gt; と同じ感じで組めてすんなり入れた。けれど、&lt;a href=&#34;http://d.hatena.ne.jp/keyword/SQL&#34;&gt;SQL&lt;/a&gt;を直接書く必要があったり Model と Controller は &lt;a href=&#34;http://d.hatena.ne.jp/keyword/Scala&#34;&gt;Scala&lt;/a&gt; で書かれたコードを見てもイマイチ理解できなくて、今後使うことは今のところ無いかなという感想。&lt;/p&gt;
&lt;p&gt;非同期やホットリロードという魅力的な利点があることは理解したので、今後 &lt;a href=&#34;http://d.hatena.ne.jp/keyword/Scala&#34;&gt;Scala&lt;/a&gt; 力が高まったらまた試してみたいと思った。&lt;/p&gt;
&lt;h2 id=&#34;ruby-on-rails&#34;&gt;&lt;a href=&#34;http://d.hatena.ne.jp/keyword/Ruby%20On%20Rails&#34;&gt;Ruby On Rails&lt;/a&gt;&lt;/h2&gt;
&lt;p&gt;お仕事でプロトタイプを作成するのにちょっと使った。だいぶ前にハローワールドぐらいはやってたんだけど、テストや配信周りを含めて本腰入れてやってみた。&lt;/p&gt;
&lt;p&gt;Assets Pipeline とやらの仕組みが最初わからず、なんで &lt;a href=&#34;http://d.hatena.ne.jp/keyword/jQuery&#34;&gt;jQuery&lt;/a&gt; やら SASS やらがロードされるのかわからなかった。あと、Production で Deploy するとそこら辺でエラーになったりとか。&lt;/p&gt;
&lt;p&gt;けれど、ググればなんとかなった。持っている本は &lt;a href=&#34;http://d.hatena.ne.jp/keyword/Rails&#34;&gt;Rails&lt;/a&gt; 1.x や 2.x の頃で、現在の3.2とは異なりすぎていて吹いた。&lt;/p&gt;
&lt;p&gt;今のところ Play よりは理解できているので、もうしばらくいじってみたいと思う。&lt;a href=&#34;http://d.hatena.ne.jp/keyword/Rails&#34;&gt;Rails&lt;/a&gt; だけでなく、テストに &lt;a href=&#34;http://d.hatena.ne.jp/keyword/RSpec&#34;&gt;RSpec&lt;/a&gt; や Cucumber を使ったり、本番環境への配信も Chef やら &lt;a href=&#34;http://d.hatena.ne.jp/keyword/Capistrano&#34;&gt;Capistrano&lt;/a&gt; 等の &lt;a href=&#34;http://d.hatena.ne.jp/keyword/Rails&#34;&gt;Rails&lt;/a&gt; 周りのやつも使っていきたい。開発・テスト・デプロイとすべて一貫して &lt;a href=&#34;http://d.hatena.ne.jp/keyword/Ruby&#34;&gt;Ruby&lt;/a&gt; でできるあたりに、&lt;a href=&#34;http://d.hatena.ne.jp/keyword/Rubyist&#34;&gt;Rubyist&lt;/a&gt; の &lt;a href=&#34;http://d.hatena.ne.jp/keyword/Ruby&#34;&gt;Ruby&lt;/a&gt; 愛を感じた。&lt;/p&gt;</description>
    </item>
  </channel>
</rss>
