Skip to content
This repository has been archived by the owner on Feb 26, 2022. It is now read-only.

Latest commit

 

History

History

rails_admin_rails5

Folders and files

NameName
Last commit message
Last commit date

parent directory

..
 
 
 
 

RailsAdmin Rails5対応

subtitle : 2016/5/20 オプト社内ハッカソン

===

目的

  • 渋谷がコミッタをやっている、RailsAdminというOSSがある
  • Rails5はrc1が最近出ており、リリースまであと1-2ヶ月のはず
    • 対応しないとまずい!

やったこと

  • Rails 5でのdeprecation解消
    • ActiveRecordまわり
    • ActionPackまわり
    • ほか

ActiveRecordまわり

  • ☑ raise_in_transactional_callbacks=
  • ☑ use_transactional_fixtures=
  • ☑ ActiveRecord::Base.tables -> data_sources

ActiveRecordまわり

  • ☑ ActiveRecord::Migrationにバージョン番号が必要
    • class CreatePlayersMigration < ActiveRecord::Migration[4.2]
    • なにこれきもい
  • time zone aware time columns
  • ☑ callbackでfalseを返しても中断されなくなった

ActionPackまわり

  • ☑ before_filter -> before_action
  • ルーティングの動的な:controller, :action
  • ☑ ActionController::ParametersがHashでなくなる
  • ☑ ActionController::TestCaseがキーワード引数しか受け取らなくなる

ほか

  • ActiveSupport

    • alias_method_chain -> Module.prepend
      • 最近Ruby 1.9サポートを切ったので、ようやくprependが使える!
  • RSpecのdeprecation

    • last_comment -> last_description

残課題

依存ライブラリまわり

  • rack-pjaxがRails5対応してない。。
    • 単に依存バージョンを変えれば動くっぽくてPRもあるが、放置されてる。。
    • せっついた eval/rack-pjax#29 (comment)
  • remotipartがRails5対応してない。。
    • ActionDispatch::ParamsParserまわりが変わっているので変更が必要
    • もともとテストコードがないので、つらたん
    • render :text -> render :plain
  • PaperTrailを追従させる必要がある

エラー

  • ActiveRecord
    • ActiveRecord::Relationにwhere_valuesがない
      • where_values_hashになった?
    • ActionView
      • ActionView::Template::Error: Attempting to generate a URL from non-sanitized request parameters!

まとめ

https://github.com/sferik/rails_admin/tree/rails-5

  • 完了はしませんでしたが、だいぶdeprecationやテスト失敗は減りました!

まとめ

  • Ruby、コンパイルしなくていいので最高
  • 結構たくさん課題がある
  • OSSはメンテしないと使われなくなって死んじゃうので、計画的に