0
0

More than 3 years have passed since last update.

書籍『Ruby on Rails4アプリケーションプログラミング』をRails5で強行した時にハマった箇所まとめ

Posted at

タイトルの通り、著:山田祥寛「Ruby on Rails 4アプリケーションプログラミング」を、Rails5で強行して一通り行った際にハマった箇所を書き出しました。

平文のrender

平文を書き出すrenderは、Rails4だとrender textですが、Rails5ではrender plainに変更されています。

  • render text -> render plain

Destroyできない

外部キー制約でハマったので(rails) - Qiita

# 変更前
has_many :reviews

# 変更後
has_many :reviews, dependent: :destroy

8.3.2ビューヘルパーのテストができない

なぜか、testフォルダに、<>_helper_test.rbがあるはずと書かれているが作成されていない。

dynamac:railbook dynamonda$ rails generate helper vieww
Running via Spring preloader in process 76877
      create  app/helpers/vieww_helper.rb
      invoke  test_unit
dynamac:railbook dynamonda$ rails destroy helper vieww
Running via Spring preloader in process 76903
      remove  app/helpers/vieww_helper.rb
      invoke  test_unit
dynamac:railbook dynamonda$ rails generate helper view
Running via Spring preloader in process 76917
   identical  app/helpers/view_helper.rb
      invoke  test_unit

  • 新規にtest/helpers内にview_helper_test.rbを作成する

8.5. integrationテストのエラーについて

インテグレーションテストでpostメソッドを使うと以下のようなエラーが出る。

Error:
AdminLoginTest#test_login_test:
ArgumentError: unknown keywords: username, password, referer
    test/integration/admin_login_test.rb:17:in `block in <class:AdminLoginTest>'
post '/login/auth', {
      username: 'yyamada',
      password: '12345',
      referer: '/hello/view' 
    }

どうやら引数がよくない模様

post '/login/auth', params: {
      username: 'yyamada',
      password: '12345',
      referer: '/hello/view' 
    }

jsonの前にparamsをくっつけるとうまく行く。

error

0
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
0