1
rails new example
rails g scaffold widget
rake db:migrate
- 편집 routes.rb는 다음과 같이
scope ":year" do resources :widgets end
curl http://0.0.0.0:3000/2011/widgets
성공echo "Widget.new.save" | rails c
curl http://0.0.0.0:3000/2011/widgets/1
성공 입니다
- 하지만 지금
curl http://0.0.0.0:3000/2011/widgets
다음과 같은 오류와 함께 실패합니다
No route matches {:action=>"show", :controller=>"widgets", :year=>#<Widget id: 1
.. 등없음 경로 일치 범위 자원
왜 행동이 "쇼"라고 생각 하는가? 왜 올해가 위젯 인스턴스라고 생각합니까? 아주 이상한. 나는 레일 3.0.9와 3.1.0.rc6에서 같은 결과를 얻는다.
미리 도움을 주셔서 감사합니다.
나는 리소스 : 위젯 (내 질문에 오타 였음)이 있었지만 widget_path() 호출에서 그 해를 놓치고있었습니다. 나는 스택 트레이스를 더 자세히 살펴야했다. 그것은 일종의 오도 된 오류 메시지입니다 (경로가 일치하지 않음). 그러나 지금 무슨 일이 일어나고 있는지 봅니다. 감사. –
'widget_path()'를 호출 할 때마다 연도를 지정하는 대신,'def default_url_options (options = {}) {: year => @year} end'를 내 ApplicationController에 추가하는 것이 훨씬 쉽다는 것을 알게되었습니다. 나는 default_url_options :-)를 발견하기 전에 얼마나 많은 시간을 낭비했는지 언급하지 않을 것이다. –