在学习Rails的时候,我创build了一个嵌套在Customers控制器下面的Domains控制器的应用程序。 我正在使用Rails 2.3.4,这是一个学习的经验。 我设法得到下面的路由设置: customer_domains GET /customers/:customer_id/domains(.:format) {:controller=>"domains", :action=>"index"} POST /customers/:customer_id/domains(.:format) {:controller=>"domains", :action=>"create"} new_customer_domain GET /customers/:customer_id/domains/new(.:format) {:controller=>"domains", :action=>"new"} edit_customer_domain GET /customers/:customer_id/domains/:id/edit(.:format) {:controller=>"domains", :action=>"edit"} customer_domain GET /customers/:customer_id/domains/:id(.:format) {:controller=>"domains", :action=>"show"} PUT /customers/:customer_id/domains/:id(.:format) {:controller=>"domains", :action=>"update"} DELETE /customers/:customer_id/domains/:id(.:format) {:controller=>"domains", :action=>"destroy"} customers GET /customers(.:format) {:controller=>"customers", :action=>"index"} POST /customers(.:format) {:controller=>"customers", :action=>"create"} new_customer GET /customers/new(.:format) {:controller=>"customers", :action=>"new"} edit_customer GET /customers/:id/edit(.:format) {:controller=>"customers", :action=>"edit"} […]
每当用户点击错误的页面时,rails将显示公用文件夹中的404.html。 不过,我只想将浏览器redirect到根页面,而不显示任何内容。 所以我尝试了globbing,但没有成功,它仍然显示404页面。 以下是我的路线文件摘录: # … map.root :controller => 'home', :action => 'home' map.connect '*', :controller => 'home', :action => 'home' 有什么build议么? 多谢你们!
在Backbone.js路由中可能有可选参数吗? 例如: routes: "search/[:query]": "searchIndex" 代替: routes: "search/": "searchIndex" "search/:query": "searchIndex"
我知道如何将我的rails应用程序的路由根设置为控制器和操作。 但如何添加一个ID? /pages/show/1应该是根。 我如何设置?
我在路由方面有点麻烦。 我正在开发CMS,我需要两条主要路线。 /admin和/(:any) 。 admin控制器用于路由/admin , view控制器应该用于除/admin以外的其他任何内容。 从view控制器,我将然后parsingURL并显示正确的内容。 这是我有: Route::get(array('admin', 'admin/dashboard'), array('as' => 'admin', 'uses' =>'admin.dashboard@index')); Route::any('(:any)', 'view@index'); 第一条路线起作用,但第二条路线不起作用。 我玩了一下,似乎如果我使用(:any)没有问号,它只有当我把东西后/ 。 如果我把问号放在那里,那根本不起作用。 我想要所有以下路线去查看@ index: / /something /something/something /something/something/something /something/something/something/something …etc… 这可能没有硬编码一堆(:any?)/(:any?)/(:any?)/(:any?) (我甚至不知道作品)? 最好的办法是什么呢?
我有一个方法返回一个数组(string[]),我试图将这个string数组传递到一个动作链接,以便它将创build一个查询string类似于: /Controller/Action?str=val1&str=val2&str=val3…etc 但是,当我通过新的{str = GetStringArray()}我得到以下url: /Controller/Action?str=System.String%5B%5D 所以基本上它是我的string[]和运行.ToString()上获取值。 有任何想法吗? 谢谢!
我正在使用Compojure(以及Ring和相关的中间件)在Clojure中编写一个API。 我试图根据路线应用不同的validation码。 考虑下面的代码: (defroutes public-routes (GET "/public-endpoint" [] ("PUBLIC ENDPOINT"))) (defroutes user-routes (GET "/user-endpoint1" [] ("USER ENDPOINT 1")) (GET "/user-endpoint2" [] ("USER ENDPOINT 1"))) (defroutes admin-routes (GET "/admin-endpoint" [] ("ADMIN ENDPOINT"))) (def app (handler/api (routes public-routes (-> user-routes (wrap-basic-authentication user-auth?))))) (-> admin-routes (wrap-basic-authentication admin-auth?))))) 这不能按预期的方式工作,因为wrap-basic-authentication的确包装了路由,所以无论缠绕的路由如何都可以尝试。 具体来说,如果请求需要路由到admin-routes , user-auth? 仍然会被尝试(并失败)。 我使用context来根据一个共同的基本path下的一些路由,但它是一个相当的约束(下面的代码可能无法正常工作,只是为了说明这个想法): (defroutes user-routes (GET "-endpoint1" [] […]
我试图通过这个指南Rails路由 ,但我陷入了第3.3节: 创build一个RESTful路由也将在你的应用程序中提供一堆帮助程序 然后他们列出一些像photos_url , photos_path等助手 我的问题: 我在哪里可以find“可用的”帮助者的完整列表? 有没有办法在控制台中调用助手? 我创build了一个应用程序,然后用script/console打开script/console 。 我试图在控制台上调用其中一个帮助器,如下所示: >> entries_url 但是得到了: NameError: undefined local variable or method `entries_url' for #<Object:0x349a4> from (irb):8
我试图让自定义路线在我的Rails应用程序(ruby1.9.2与Rails 3)工作。 这是我的config / routes.rb文件 match '/dashboard' => 'home#dashboard', :as => 'user_root' devise_for :user do get "/login", :to => "devise/sessions#new" # Add a custom sign in route for user sign in get "/logout", :to => "devise/sessions#destroy" # Add a custom sing out route for user sign out get "/register", :to => "devise/registrations#new" # Add a […]
我有这个代码如下: /** * Lists all User entities. * * @Route("/{cid}",defaults={"cid" = null},name="user") * @Template() */ public function indexAction($cid=null) {} 现在,如果我键入site/user/1然后它的作品,但如果我键入site/user/它说: No route found 我怎样才能让这两条路线工作?