我有模型/控制器叫做通知。
我想创建一个新网址,以便我可以通过以下方式访问它:
/notifications/my_new_url?id=4
并让该页面查看my_new_url.html.erb
然而,它总是继续show
方法:
这是我的routes.rb
map.resources :notifications
map.connect 'notifications/get',
:controller => 'notifications',
:action => 'show'
map.connect 'notifications/my_new_url',
:controller => 'notifications',
:action => 'my_new_url'
请帮助我...我已经坚持了一段时间
答案 0 :(得分:0)
您需要将URL映射到控制器和操作组合。但是您的操作可以呈现视图。您还需要在带有通配符的URL之前映射专用URL。所以这样做:
# config/routes.rb
...
map.connect 'notifications/my_new_url',
:controller => 'notifications',
:action => 'my_new_url'
map.resources :notifications
...
# app/controllers/notifications_controller.rb
...
def my_new_url
respond_to do |format|
format.html { render :my_new_url }
end
end
...
# app/views/notifications/my_new_url.html.erb
...