【问题标题】:Routing a location that matches one controller to another将与一个控制器匹配的位置路由到另一个控制器
【发布时间】:2010-04-15 22:58:04
【问题描述】:

您好,我有一个名为“places”的控制器,其中包含一些操作,例如“view”、“new”、“create”

当用户访问 mysite.com/places 时,我想执行另一个名为“cores”的控制器的“show”操作

所以我把它放在了 routes.rb 文件中:

map.connect '/places', :controller => "cores", :action => "show"

但它不起作用。

我收到此错误:

Processing PlacesController#show (for 127.0.0.1 at 2010-04-16 00:52:07) [GET]

ActionController::UnknownAction (No action responded to show. Actions: admin_denied, admin_required, auto_complete_for_location, auto_complete_for_name, change_location, create, create_facebook_session, create_facebook_session_with_secret, edit, exist, facebook_params, facebook_session, facebook_session_expired, facebook_session_parameters, get_form, is_admin?, new, one_or_true, redirect_to, render_publisher_error, render_publisher_interface, render_publisher_response, set_facebook_session, top_redirect_to, update, wants_interface?, and zero_or_false):

如何将该操作映射到另一个控制器?

谢谢

【问题讨论】:

  • URL /places 与您的/:id/show 路由不匹配。由于您没有传递 ID,您希望 ID 是什么?

标签: ruby-on-rails routes


【解决方案1】:

我建议您更具体地使用您的路线,或者重新考虑控制器命名方案。

试试这个:

map.connect 'places', :controller => 'cores', :action => 'show'

places/:action/:id 匹配的网址仍将继续有效。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2014-04-16
    • 1970-01-01
    • 2020-05-02
    • 1970-01-01
    • 2021-06-11
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多