您可以通过将静态文件放在public/中(默认情况下)来使用Sinatra提供静态文件——目前我有一个index.html,但是如何我可以将根指向该文件而不必将其作为模板进行解析吗?明确地说,我可以成功访问/index.html,并且我想将/路由到同一个静态文件,但不重定向。知道如何做到这一点吗? 最佳答案 可能最终会出现更好的答案,在此之前这是我的尝试。如果这不是你想要的:get'/'doredirect'/index.html'end你可能会这样做:get'/'doFile.new('public/index.html').re
我正在使用Rails3应用程序工作,我想根据子域将路由拆分为单独的文件。现在我的routes.rb文件中有这个:Skateparks::Application.routes.drawdoconstraints(:subdomain=>'api')doload'routes/api.rb'endend在我的routes/api.rb文件中我有:resources:skateparks这似乎不起作用,因为如果我运行rakeroutes我明白了undefinedmethod`resources'formain:Object此外,如果我尝试导航到http://0.0.0.0:3000/我得到:
我有一个模型“文章”和一个嵌套在文章中的模型“评级”。/articles/123/ratings我想更改ratings/_form.html.erb中f.submit的路由现在是这样,在按下提交后,我的应用程序路由到/评分/111但我想把它路由到/文章/123如何更改form_forf.submit按钮中的路由。我在这里找到了这样的东西:url_for(:action=>"update",:id=>@thing)do|f|%>但这不适用于我的Rails3.2。感谢您的帮助, 最佳答案 :url-提交表单的URL。它采用您传递给url
我怎样才能让我的路由识别一个可选的前缀参数,如下所示:/*lang/controller/id因为lang部分是可选的,如果未在URL中指定,则具有默认值:/en/posts/1=>lang=en/fr/posts/1=>lang=fr/posts/1=>lang=en编辑理想情况下,我希望通过映射命名空间在多个Controller和操作中执行此操作:map.namespace"*lang"do|lang|lang.resources:postslang.resources:storiesend 最佳答案 好的,我已经设法解决了这个
标准的新Rails应用程序在显示rails.png时出现问题ActionController::RoutingError(Noroutematches[GET]"/assets/rails.png"):我曾尝试将.png文件移动到Assets和Assets/图像中的各个位置以及旧位置“公共(public)”或“公共(public)/图像”并更改页面,但没有任何帮助。如果您已经看到并解决了这个问题,请回答。我自己尝试了大约20种不同的组合。版本:'rails','3.1.0.rc4' 最佳答案 我刚刚遇到了类似的错误。在我的例子中,我
我有一个很常见的嵌套路由案例,我觉得它看起来像这样(在某种伪符号中):'/:username/photos'=>ShowphotosforUser.find_by_username'/photos'=>ShowphotosforUser.all简而言之:我有用户。他们有照片。我希望能够在他们的页面上显示他们的照片。我还希望能够显示所有照片,而不管用户是谁。我想保持我的路由RESTful并使用内置的resource方法感觉是正确的方法。选项1这样做是让PhotosController#index使用条件来检查给定的参数并获取照片列表并设置View(用户的照片与所有照片不同).路由它甚至很
我正在努力解决这个guidetoRailsrouting,但我卡在了3.3部分:CreatingaRESTfulroutewillalsomakeavailableapileofhelperswithinyourapplication然后他们列出了一些助手,例如photos_url、photos_path等。我的问题:我在哪里可以找到“可用”的助手的完整列表?有没有办法在控制台中调用助手?我创建了一个应用程序,然后使用script/console打开了控制台。我试着像这样在控制台上调用其中一个助手:>>entries_url但是得到了:NameError:undefinedlocalv
我正在尝试让自定义路由在我的Rails应用程序(Ruby1.9.2和Rails3)中工作。这是我的config/routes.rb文件match'/dashboard'=>'home#dashboard',:as=>'user_root'devise_for:userdoget"/login",:to=>"devise/sessions#new"#Addacustomsigninrouteforusersigninget"/logout",:to=>"devise/sessions#destroy"#Addacustomsingoutrouteforusersignoutget"/re
在config/routes.rb中,我都试过了:root:to=>'things#index',:as=>'things'和root:to=>'things#index'当我点击http://localhost:3000/时,这两种方法都有效,而且似乎没有什么不同。:as选项有什么用? 最佳答案 :as选项形成一个命名路由。通常用于非根路由。例如:match'/search'=>'search#search',:as=>'search'#SearchController#search然后你可以这样做:search_path和sea
我四处查看如何更改动态参数槽,发现这篇文章完全符合要求。帖子是https://thoughtbot.com/blog/rails-patch-change-the-name-of-the-id-parameter-in基本上它所做的是,如果以下是路线:map.resources:clients,:key=>:client_namedo|client|client.resources:sites,:key=>:namedo|site|site.resources:articles,:key=>:titleendend这些路由创建以下路径:/clients/:client_name/cli