Tag: 路由

在所有rails帮助程序中将协议更改为https

Rails 3.1+我希望我的url帮助程序使用https协议,而不必在我调用的每个帮助程序中指定它。 搜索后我发现了各种各样的方法但没有工作,例如: ROUTES_PROTOCOL = (ENV[“RAILS_ENV”] =~ /development/ ? ‘http://’ : ‘https://’) scope :protocol => ROUTES_PROTOCOL, :path => “/app” do 如何才能做到这一点?

Rails用点创建格式错误的路线

我正在使用路径帮助器方法在link_to中生成URL,并且它们返回如下格式化的URL: http://localhost:3000/tweets.4 当我期待它们像这样形成时: http://localhost:3000/tweets/4 请注意它是如何使用点作为分隔符而不是预期的正斜杠。 顶部链接无法解析为正确的视图,它只是重新加载/ tweets视图。 当我手动将URL编辑为底部时,它会打开正确的/ tweets / show /。 我在网上研究中发现的最接近的事情是人们用错误的嵌套路由语句遇到了这个问题 – 但我不认为我在这里做过。 我很感激任何人都可以提供的任何帮助或指示! 以下是相关的源文件和版本信息: 鸣叫/ index.html.erb Listing tweets tweets_controller.rb class TweetsController < ApplicationController def index @tweets = Tweet.all end def show @tweet = Tweet.find(params[:id]) end def new @tweet = Tweet.new end def create @tweet = Tweet.new(params[:tweet]) @tweet.user = User.last if(@tweet.save) redirect_to :root […]

在Rails引擎规范中使用正确的url_for方法

我在Rails引擎中有一个请求规范。 呈现的视图调用路径并传入散列,即projects_path(:scope => “user”) 。 像这样的路由最终将调用url_for ,但url_for在很多地方定义。 在主应用程序(根级别)中运行应用程序或运行请求规范时,调用链最终在ActionView::RoutingUrlFor#url_for ; 但是,当在引擎中运行规范时,调用链最终会出现在ActionView::Helpers::UrlHelper#url_for 。 在Rails 4中, UrlHelper定义的url_for方法不再接受哈希参数,所以我留下了这个错误 Failure/Error: visit projects_opportunity_intakes_path ActionView::Template::Error: arguments passed to url_for can’t be handled. Please require routes or provide your own implementation 我想弄清楚的是,为什么当我在我的引擎中运行规范时,它会回到ActionView::Helpers::UrlHelper ,但在其他任何情况下都没有。 这非常令人困惑。 有一件事对我来说很突出:当我在视图中放置一个断点并评估self.class ,我通常得到一些从ActionView::Baseinheritance的东西,但是当我从我的引擎运行一个规范时,该类不会inheritance从任何事情。 我不知道这是否相关,但看起来很可疑。 有人经历过吗? 知道解决方法吗? 我的模块可能被包含在错误的订单中吗? 在spec_helper或虚拟应用程序初始化中有什么东西我可以做以确保正确使用正确的模块吗?

Rails中的自定义错误页面?

我需要在rails应用程序中实现一个自定义错误页面,允许我使用erb。 我一直在关注这个教程( http://blog.tommilewski.net/2009/05/custom-error-pages-in-rails/ ),我无法让它在本地(或远程)工作。 我正在运行Rails 2.3.5 这是方法的要点。 1)在’application_controller’中,我过度使用“render_optional_error_file(status_code)”方法,并将可见性设置为“protected”,就像这样。 protected def render_optional_error_file(status_code) known_codes = [“404”, “422”, “500”] status = interpret_status(status_code) if known_codes.include?(status_code) render :template => “/errors/#{status[0,3]}.html.erb”, :status => status, :layout => ‘errors.html.erb’ else render :template => “/errors/unknown.html.erb”, :status => status, :layout => ‘errors.html.erb’ end end def local_request? true end 我还在视图中创建了一个名为errors的文件夹并创建了以下视图: 404.html.erb , 422.html.erb , 500.html.erb , […]

在Hartl的ruby-on-rails教程的第11章中,“没有路由匹配”错误删除了Micropost – 完全难倒

我正试图通过Michael Hartl的ROR教程来追踪一个特别难以捉摸的错误。 点击微博的“删除”(从主页或用户/节目页面),url为http:// localhost:3000 / microposts / 303 ,但结果为“路由错误 – 无路由匹配”/微博/ 303″ 。 我已经浏览了所涉及的代码的每一页,并用来自Hartl的gitHub项目站点的代码替换它们。 https://github.com/railstutorial/sample_app 。 例如,对于microposts_controller,我从gitHub库中复制了代码,并用复制的代码替换了我的代码。 然后我重新启动了服务器。 结果相同。 然后我回到我的代码来测试下一页。 我交换代码的页面是 控制器microposts_controller users_controller(show method) MODEL micropost.rb(型号) VIEWS microposts / _micropost.haml shared / _micropost_form.html.haml shared / _feed.haml shared / _feed_item.haml 和路由文件。 我无法检查其他事情。 有没有人有什么建议? 谢谢, 戴夫 耙路线的结果 sessions POST /sessions(.:format) {:action=>”create”, :controller=>”sessions”} new_session GET /sessions/new(.:format) {:action=>”new”, :controller=>”sessions”} […]

如何在Rails应用程序中实现虚荣URL?

我希望用户能够在site.com/myNameHere上找到个人资料页面。 Rails查找名为“myNameHere”的控制器。 是否可以设置routes.rb,以便在找不到控制器时,“myNameHere”作为参数发送到另一个控制器?

如何使用Rails路由从一个域重定向到另一个域?

我的应用程序曾经在foo.tld上运行,但现在它在bar.tld上运行。 对于foo.tld,仍然会有请求,我想将它们重定向到bar.tld。 我怎样才能在rails路线中这样做?

如何在rails中实现“短”嵌套虚荣URL?

我理解如何在Rails中创建一个虚荣URL,以便将http://mysite.com/forum/1翻译成http://mysite.com/some-forum-name 但我想更进一步,并进行以下工作(如果可能的话): 而不是: http://mysite.com/forum/1/board/99/thread/321 : http://mysite.com/forum/1/board/99/thread/321 我想在第一步得到这样的东西: http://mysite.com/1/99/321 : http://mysite.com/1/99/321 并最终拥有它像http://mysite.com/some-forum-name/some-board-name/this-is-the-thread-subject 。 这可能吗?

反向铁路路由:从URL中查找操作名称

我理解如何将:controller , :action, :etc转换为URL。 我正在寻找反过来,如何从URL找到rails路由器将调用的操作?

Ruby on Rails的永久链接(动态路由)

我目前正在使用Ruby on Rails开发一个博客系统,并希望用户为静态页面或博客post定义他的“永久链接”,这意味着: 用户应该能够设置页面名称,例如。 “test-article”(应该通过/ posts / test-article提供) – 我如何在rails应用程序和路由文件中实现这一点?