1

次のルートを定義しています。

  resources :scenes do
    member do
      match 'files' => 'scenes#files', via: :get, as: 'scene_files'
    end
  end

ネストされたルートをとして参照できるようにしたいのですscene_files_pathが、Railsはsceneパスに余分なものを追加することを要求しているので、最終的にはですscene_files_scene_path。探している名前付きルートを取得するにはどうすればよいですか?

4

1 に答える 1

2

私はあなたのメンバーブロックを簡素化し始めました

resources :scenes do
  get :files, :as => :scene_files, :on => :member
end

それから私はつまずいた

resources :scenes do
  get :files
end

これは以下を生成します:

> rake routes
  scene_files GET       /scenes/:scene_id/files(.:format)     scenes#files
       scenes GET       /scenes(.:format)                     scenes#index
             POST       /scenes(.:format)                     scenes#create
    new_scene GET       /scenes/new(.:format)                 scenes#new
   edit_scene GET       /scenes/:id/edit(.:format)            scenes#edit
        scene GET       /scenes/:id(.:format)                 scenes#show
              PUT       /scenes/:id(.:format)                 scenes#update
           DELETE       /scenes/:id(.:format)                 scenes#destroy

1 つだけ問題があります。param キーは:scene_id次の代わりになります。id

于 2012-08-18T04:12:30.017 に答える