2

当我在本地主机中点击 url 时: http://localhost:3000/refinery/events 它让我出错:

No route matches {:controller=>"refinery/refinery/admin/dashboard"}

当我通过 rake 路线时:

events_events GET     /events(.:format)                             refinery/events/events#index

 events_event GET     /events/:id(.:format)                         refinery/events/events#show

pdate_positions_events_admin_events POST    /refinery/events/update_positions(.:format)   refinery/events/admin/events#update_positions

events_admin_events GET     /refinery/events(.:format)                    refinery/events/admin/events#index

POST    /refinery/events(.:format)                    refinery/events/admin/events#create

new_events_admin_event GET     /refinery/events/new(.:format)                refinery/events/admin/events#new

edit_events_admin_event GET     /refinery/events/:id/edit(.:format)           refinery/events/admin/events#edit

events_admin_event PUT     /refinery/events/:id(.:format)                refinery/events/admin/events#update

DELETE  /refinery/events/:id(.:format)                refinery/events/admin/events#destroy

由于我使用的是 Refinery CMS,因此在 config 和 vendor/extension/ 目录中都有一个 routes.rb 文件。那么他们实际上是如何沟通和解决上述问题的呢?

4

1 回答 1

3

添加路由时必须正确使用资源。有两个相同的资源。事件和事件。

此示例中的另一个问题是有时 GET 事件理解事件 id,有时 admin 代替 id。

它会在您的路线中产生冲突。

Get event/:id 和 Get event/admin 正在创建问题。

请使用完整的路由方式,集合和成员,管理部分的名称空间,以便您的代码更加模块化。

于 2012-03-07T08:48:18.073 回答