Rails에서 Generate하면 ArgumentError로 화난 이야기
3516 단어 Rails 튜토리얼TerminalRailsRails5
Rails 튜토리얼도 완주했고, 오리지널 Web 앱 만들겠다고 자세하고 Generate 해 보았더니,
ArgumentError와 화가 나서 비망록입니다.
$ rails generate controller Companys show
Traceback (most recent call last):
58: from bin/rails:4:in `<main>'
〜〜省略〜〜
1: from /Library/Ruby/Gems/2.6.0/gems/actionpack-5.1.6/lib/action_dispatch/routing/mapper.rb
:307: in `check_controller_and_action'
/Library/Ruby/Gems/2.6.0/gems/actionpack-5.1.6/lib/action_dispatch/routing/mapper.rb
:327:in `check_part': Missing :controller key on routes definition, please check your routes.
(ArgumentError)
ArgumentError란?
메소드의 인수가 올바르지 않거나 부족할 때 발생하는 에러입니다.
wrong number of arguments (given 0, expected 1+)라는 오류 메시지가 표시됩니다.
이것은 인수의 수가 잘못되어 있습니다(현재 0개입니다, 정상적인 인수의 수는 1개 이상입니다) 라는 의미입니다.
즉 form_for 의 메소드의 인수가 부족하기 때문에 일어나고 있는 에러인 것을 알 수 있습니다.
메소드 참조 (http://railsdoc.com/)을 보면서 올바른 인수가 설정되었는지 확인하고 수정하면 해결할 수있는 경우가 많습니다.
참고 기사 「오류 메시지로부터 배운다」
과연 ArgumentError는 인수의 오류입니다.
그리고 오류 문장을 읽는 것이 중요합니다.
오류 메시지로 돌아가기
Missing :controller key on routes definition, please check your routes. (ArgumentError)
"routes 상에 있는 컨트롤러의 키가 미정도리이므로, routes를 확인해 주세요."
뭔가 잘 모르겠지만, please check your routes.
routes.rbRails.application.routes.draw do
root 'static_pages#home'
get '' # <= 何これ?
end
우선 삭제해 보고, 다시 한번 generate 해 본다
$ rails generate controller Companys show
create app/controllers/companys_controller.rb
route get 'companys/show'
invoke erb
create app/views/companys
create app/views/companys/show.html.erb
invoke test_unit
create test/controllers/companys_controller_test.rb
invoke helper
create app/helpers/companys_helper.rb
invoke test_unit
invoke assets
invoke coffee
create app/assets/javascripts/companys.coffee
invoke scss
create app/assets/stylesheets/companys.scss
잘 갔다! ! !
결론 : 작업 도중 코드를 방치하지 마라.
그렇게 마음에 맹세했습니다.
Reference
이 문제에 관하여(Rails에서 Generate하면 ArgumentError로 화난 이야기), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다
https://qiita.com/yoshikouki/items/e4689f8845022d80f1c0
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념
(Collection and Share based on the CC Protocol.)
Missing :controller key on routes definition, please check your routes. (ArgumentError)
"routes 상에 있는 컨트롤러의 키가 미정도리이므로, routes를 확인해 주세요."뭔가 잘 모르겠지만,
please check your routes.
routes.rb
Rails.application.routes.draw do
root 'static_pages#home'
get '' # <= 何これ?
end
우선 삭제해 보고, 다시 한번 generate 해 본다
$ rails generate controller Companys show
create app/controllers/companys_controller.rb
route get 'companys/show'
invoke erb
create app/views/companys
create app/views/companys/show.html.erb
invoke test_unit
create test/controllers/companys_controller_test.rb
invoke helper
create app/helpers/companys_helper.rb
invoke test_unit
invoke assets
invoke coffee
create app/assets/javascripts/companys.coffee
invoke scss
create app/assets/stylesheets/companys.scss
잘 갔다! ! !
결론 : 작업 도중 코드를 방치하지 마라.
그렇게 마음에 맹세했습니다.
Reference
이 문제에 관하여(Rails에서 Generate하면 ArgumentError로 화난 이야기), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다
https://qiita.com/yoshikouki/items/e4689f8845022d80f1c0
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념
(Collection and Share based on the CC Protocol.)
Reference
이 문제에 관하여(Rails에서 Generate하면 ArgumentError로 화난 이야기), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://qiita.com/yoshikouki/items/e4689f8845022d80f1c0텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념 (Collection and Share based on the CC Protocol.)