Hatena::ブログ(Diary)

130単位

2012-11-24

Rails4 beta さわってみたメモ #railshackathon

Rails4、先取りセミナーなんかもあったりして少しずつ浸透してきてる感がありますね。そんな中 no title に参加してて、Rails4でアプリを作ってみたりしたので、その感想とか書いてみます。不具合などはあくまで11/24時点の情報になります。

StrongParameters

  • Modelでattr_accessibleは使わない
  • ScaffoldでController に {modelname}_params というメソッドができるのでそれに倣うのがいいかも
  private
  def user_params
    params.require(:user).permit(:name, :password, :password_confirmation)
  end
  • ここで上書き許可するカラムを設定して、User.new(user_params) などとする

テスト

I just pushed up a new branch called activerecord4 which should work if you are using edge rails. Point your Gemfile to that and you should be all set.

Compatibility with mass assignment policy of Rails4.0 by banyan ? Pull Request #135 ? paulelliott/fabrication ? GitHub
    watch('test/test_helper.rb')  { "test" }
    watch(%r|^test/(.*)_test\.rb|)
    watch(%r{^app/(.+)\.rb$}) { |m| "test/#{m[1]}_test.rb" }
  • Guardのwarning回避のため gem 'rb-fsevent', :require => false をGemfileに追加
  • テスト全実行すると'ruby-prof'がないといわれるため、gem 'ruby-prof' をGemfileに
    • performance_testで使われてるっぽい
    • [追記]上記はGuardで実行した場合のみ

RubyGems

問題なし
問題あり
Rails.configuration.assets.paths << Compass::Frameworks['compass'].stylesheets_directory

Ruby2.0

brew install openssl
CONFIGURE_OPTS=--with-openssl-dir=`brew --prefix openssl` rbenv install 2.0.0-preview1

その他

  • http://localhost:3000/rails/info/routes でルーティング確認できる
    • Routing Errorの画面も下部にルーティングが表示される
  • TurboLinks、JSなしのlink_toだけで勝手にAjaxになる
  • Timezoneがなんかおかしくて、JSTにならない
    • config/application.rb に config.time_zone = 'Tokyo'
  • Heroku assets
    • config/environments/production.rb に config.assets.compile = true
    • Compass, Bootstrap-Sass, Haml-Railsは:assetsグループに入れずにグローバルに定義

感想

約2年前のRails3がリリースされた頃、当時はRuby/Rails未経験でその上ググって出てくる英語の記事にも慣れてなくて、相当苦労した気がします。それに比べれば、Rails3.2をある程度触っていればRails4は割とスムーズに扱えるのではないかと思います。Rails本体よりも周辺Gemのほうが、まだ未対応だったりして動かないことがよくあります。遭遇したエラーが翌日には直っていたなんてこともあります。とはいえRails4対応という避けては通れないであろうミッションに、ソーシャルコーディングで参加できるチャンスがたくさんあるともいえます。実際にPull Requestしてみて、良いフィードバックが得られたりもしました。

時間に余裕のある人や新しもの好きな人は、Rails4ぜひ触ってみるといいと思います!

あわせて

※近々ギークハウス元住吉でRails4テーマに勉強会やろうかと思ってます

スパム対策のためのダミーです。もし見えても何も入力しないでください
ゲスト


画像認証

トラックバック - http://d.hatena.ne.jp/deeeki/20121124/rails4_1st_impression