2

アプリケーションを Rails 2.3.5 から Rails 3.2.8 に移行しています。Rails 2アプリからのこのルートが頭痛の種です:

  map.resources :soumission_vt,
                :path_prefix => "/soumission/VT/:page_id", :as => 'police/:action/:id',
                :requirements => {:page_id => /\S+/}

以下を生成します。

soumission_vt_index GET    /soumission/VT/:page_id/police/:action/:id(.:format)               {:controller=>"soumission_vt"}
                    POST   /soumission/VT/:page_id/police/:action/:id(.:format)               {:controller=>"soumission_vt"}
new_soumission_vt   GET    /soumission/VT/:page_id/police/:action/:id/new(.:format)           {:controller=>"soumission_vt"}
edit_soumission_vt  GET    /soumission/VT/:page_id/police/:action/:id/:id/edit(.:format)      {:controller=>"soumission_vt"}
soumission_vt       GET    /soumission/VT/:page_id/police/:action/:id/:id(.:format)           {:controller=>"soumission_vt"}
                                    PUT    /soumission/VT/:page_id/police/:action/:id/:id(.:format)           {:controller=>"soumission_vt"}
                    DELETE /soumission/VT/:page_id/police/:action/:id/:id(.:format)           {:controller=>"soumission_vt"}

Rails 3 では次のように翻訳しました。

  scope '/soumission/VT/:page_id', :constraints => {:page_id => /\S+/} do
    resources :soumission_vt, :as => 'police/:action/:id'
  end

しかし、無効なルート名を取得しています: 'police/:action/:id_index'...

Rails 3でこれらのルートを再現する方法はありますか?

ありがとう!

4

1 に答える 1

1

1 回の試行の後、次のコード行で機能させることに成功しました。

scope '/soumission/VT/:page_id' do
    get 'police/new', controller: :soumission_vt, action: :new, as: :new_soumission_vt
end

これが移行を時間内に完了するのに役立つことを願っています!

;)

于 2016-03-31T19:33:10.590 に答える