環境
Rails 6.1.5
テンプレート:slim-rails 3.4.0
viewのテンプレートをSlimにしている場合Scaffoldでエラーになる
いざScaffoldしようと思って
$ rails g scaffold hoge a:string b:integer
とすると、modelとcontrollerは作成されるが、
in `model_resource_name': wrong number of arguments (given 1, expected 0) (ArgumentError)
略
in `template'
変なエラーが出てviewが作成されない。
色々調べてたどり着いたのがこちら
Rails scaffold views throws wrong number of arguments error
どうやら、rails6にrails7に対応している最新版のslim-rails3.4.0が入ってしまうとよろしくないらしい。
解決方法
slim-railsのバージョンを3.3.0に固定する
Gemfile
#バージョン無しだと3.4.0がインストールされてしまうため3.3.0にバージョン固定
gem 'slim-rails', '3.3.0'
bundle install後、再度scaffold
$ bundle install
$ rails g scaffold hoge a:string b:integer
略
invoke slim
create app/views/hoge
create app/views/hoge/index.html.slim
create app/views/hoge/edit.html.slim
create app/views/hoge/show.html.slim
create app/views/hoge/new.html.slim
create app/views/hoge/_form.html.slim
エラーが出なくなった!