0

いくつかの静的ページといくつかのコントローラー(ユーザーと症状)へのルートを定義しています。localhost:3000 / users / 1またはlocalhost:3000 / users / 1 / usymptoms / newに移動すると、すべて問題ありません。症状/新規に関するフォームへの入力が完了すると、usymptomsコントローラーが@usersにリダイレクトされます。これは正常に機能します。

モデルファイルでは、関連付けはusersに多くの症状があり、usymptomsはuserに属しています。

ただし、静的ページにアクセスできなくなりました。たとえば、/ learnに移動すると、次のエラーが発生します。

{:action => "new"、:controller => "usymptoms"、:user_id=>nil}に一致するルートはありません

Railsは初めてです。エラーを理解するのを手伝ってくれませんか。

ルートファイルと以下の「レーキルート」からの出力を提供しました。

私のroutes.rbファイル

root to: 'static_pages#home'
match '/about',   to: 'static_pages#about'
match '/contact', to: 'static_pages#contact'
match '/learn',   to: 'static_pages#learn'

match '/signup',  to: 'users#new'
match '/signin',  to: 'sessions#new'
match '/signout', to: 'sessions#destroy', via: :delete

resources :users do
  resources :usymptoms
end


resources :sessions, only: [:new, :create, :destroy]

======

レーキルートからの出力

              root        /                                            static_pages#home
             about        /about(.:format)                             static_pages#about
           contact        /contact(.:format)                           static_pages#contact
             learn        /learn(.:format)                             static_pages#learn
            signup        /signup(.:format)                            users#new
            signin        /signin(.:format)                            sessions#new
           signout DELETE /signout(.:format)                           sessions#destroy
    user_usymptoms GET    /users/:user_id/usymptoms(.:format)          usymptoms#index
                   POST   /users/:user_id/usymptoms(.:format)          usymptoms#create
 new_user_usymptom GET    /users/:user_id/usymptoms/new(.:format)      usymptoms#new
edit_user_usymptom GET    /users/:user_id/usymptoms/:id/edit(.:format) usymptoms#edit
     user_usymptom GET    /users/:user_id/usymptoms/:id(.:format)      usymptoms#show
                   PUT    /users/:user_id/usymptoms/:id(.:format)      usymptoms#update
                   DELETE /users/:user_id/usymptoms/:id(.:format)      usymptoms#destroy
             users GET    /users(.:format)                             users#index
                   POST   /users(.:format)                             users#create
          new_user GET    /users/new(.:format)                         users#new
         edit_user GET    /users/:id/edit(.:format)                    users#edit
              user GET    /users/:id(.:format)                         users#show
                   PUT    /users/:id(.:format)                         users#update
                   DELETE /users/:id(.:format)                         users#destroy
          sessions POST   /sessions(.:format)                          sessions#create
       new_session GET    /sessions/new(.:format)                      sessions#new
           session DELETE /sessions/:id(.:format)                      sessions#destroy
4

1 に答える 1

0

どこかに次のリンクが必要です: 、new_user_usymptom_path(@user)しかし何らかの理由でエラーが発生しました。@usernil

于 2013-01-16T00:25:56.277 に答える