タイトルの通り、著:山田祥寛「Ruby on Rails 4アプリケーションプログラミング」を、Rails5で強行して一通り行った際にハマった箇所を書き出しました。
平文のrender
平文を書き出すrender
は、Rails4だとrender text
ですが、Rails5ではrender plain
に変更されています。
-
render text
->render plain
Destroyできない
# 変更前
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をくっつけるとうまく行く。