问题标签 [rails-routing]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
2 回答
1251 浏览

ruby-on-rails - ActionController::MethodNotAllowed 重新加载路由后?

我有一个应用程序,我通过模型动态加载路由,并ActionController::Routing::Routes.reload!在创建/更新该模型后调用。问题是,在这样做之后,当我尝试访问该新路线时收到以下错误:

真正奇怪的是请求没有参数,响应头是{"cookie"=>[], "Allow"=>"GET, HEAD, POST, PUT, DELETE", "Cache-Control"=>"no-cache"}

所有这一切即使请求肯定是 GET(根据 Firebug)并且根据响应 GET 肯定是允许的。

我正在使用 Rails 2.1.0 和 Mongrel 1.1.5(谷歌搜索后,我注意到旧版本有一些问题)。

有人有想法吗?

0 投票
3 回答
457 浏览

ruby-on-rails - 在 ruby​​ on rails 中将参数作为路径变量传递

我还是 ROR 的新手,所以请原谅这个问题的简单性......

因此http://www.example.com/controller/:id在我的表中显示一条记录,其中 :id 是一个数字(1、2、3 等)。

有没有办法可以让 URL 中的 :id 成为显示记录中字段的值?这样我就可以拥有http://www.example.com/controller/record_field?我希望对表中的特定记录进行人性化的引用。我相信这一定是可能的。我是否更改了 routes.rb 中的某些内容?

谢谢您的帮助!

0 投票
7 回答
174091 浏览

ruby-on-rails - Rails 路由助手(即 mymodel_path(model))可以在模型中使用吗?

假设我有一个名为 Thing 的 Rails 模型。Thing 有一个 url 属性,可以选择将其设置为 Internet 上某处的 URL。在视图代码中,我需要执行以下操作的逻辑:

视图中的这种条件逻辑很丑陋。当然,我可以构建一个辅助函数,它将视图更改为:

这解决了冗长的问题,但我真的更喜欢模型本身的功能。在这种情况下,视图代码将是:

这显然需要模型上的链接方法。以下是它需要包含的内容:

就问题而言,thing_path() 是模型代码中未定义的方法。我假设可以将一些辅助方法“引入”到模型中,但是如何?路由只在应用程序的控制器和视图层运行是否有真正的原因?我可以想到很多模型代码可能需要处理 URL(与外部系统集成等)的情况。

0 投票
7 回答
36673 浏览

ruby-on-rails - 向现有控制器添加操作(Ruby on Rails)

我是 Ruby on Rails 的新手,我已经完成了博客教程

我现在正在尝试向控制器添加一个额外的操作,称为“开始”。

我添加了一个视图页面“app/views/posts/start.html.erb”,只包含简单的 html。

当我转到 /posts/start 时,出现以下错误。

我了解错误,正在执行 show 操作,并且 start 不是有效的 ID。为什么不执行启动操作,是否缺少 MVC 架构或配置的某些部分?

下面是我的posts_controller.rb

是的,我已经重新启动了服务器并使用 Mongrel 和 webrick 进行了尝试。

0 投票
2 回答
1588 浏览

ruby-on-rails - 在嵌套资源关系中“查找”“父”对象?

假设我有两个资源,项目和任务。一个项目可以有很多任务;一个任务属于一个项目。还说我在 routes.rb 的 Project 下嵌套了 Task:

可以以编程方式发现这种关系吗?基本上,我需要动态加载一个任意对象,然后确定它是否有一个“父级”,然后加载那个父级。

有任何想法吗?

0 投票
1 回答
346 浏览

ruby-on-rails - 如何为 Rails 中的每条路线添加一些内容?

鉴于我已经指定了相当多的资源并且不想全部重构到命名空间中,是否有一种简单的方法可以将永久字符串添加到Rails 应用程序中的每个路由?

我可以做一些类似的事情吗

并将该字符串附加到所有路由的开头吗?我意识到这不是我正常实现 map.root 的方式。

TIA

0 投票
1 回答
2374 浏览

ruby-on-rails - 命名空间项目的 Rails 路由错误

我们有一个 Rails 应用程序,它不断产生我们无法追踪的错误。问题似乎出在路由上,但我们不确定发生了什么。输出路由文件如下所示:

我们在 app/controllers 中有一组公共控制器,在 app/controllers/admin 中有一组管理控制器。我们一直看到的问题是,当用户访问诸如 admin/bookings、admin/bookings/step_1 或 admin/events 之类的 URL 时。有时 url 工作得很好,但有时我可以从日志文件中看到类似以下的事情发生:

其他时候我们会得到类似的东西:

从最后一个示例中,您可以看到请求的 urladmin/events应该已经点击了#indexin ,Admin::EventsController但它呈现了in 中的#index操作EventsController

我们正在使用 Rails 2.0.2 运行该应用程序。

0 投票
2 回答
697 浏览

ruby-on-rails - Rails 路由

我在 Rails 上建立了一个新门户,可以这样访问:https ://xyz.com

这样做的问题是:1.) 它有 2 个选项卡——“ShipmentInfo”、“Aging Shipments Dashboard”都使用实现

2.) 当我点击“Aging Shipments Dashboard”选项卡时 – url 应该是 – https://xyz.com/#tab2但你只能看到https://xyz.com。我认为这是因为 Tabs 的客户端实现。

3.) 在我单击该选项卡中的“当前摘要”按钮后,我得到了相应的结果,但不是向我显示设置为“Aging Shipments Dashboard”的活动选项卡,而是始终设置为“ShipmentInfo”选项卡。

如何将 activeTab 设置为将结果获取到已发出请求的相应选项卡?所有表单请求都使用 GET 方法。

或者有没有一种方法可以让我在 routes.rb 中明确提及,基于 activeTab 应该设置为“Aging Shipments Dashboard”的参数?

谢谢,拉贾。

0 投票
3 回答
7965 浏览

ruby-on-rails - :new、:collection 和 :member 路由有什么区别?

我已经阅读了文档,但我仍然不确定我是否理解所有内容。

特别是为什么有一个:new参数。据我了解,它可以用:collection参数替换。

那么这三种路线有什么区别呢?

0 投票
1 回答
1697 浏览

ruby-on-rails - 使用 Id 以外的属性访问 routes.rb 中的资源

我的 routes.rb 中有以下内容

通过上面定义的路线,我可以使用xxxxx.com/novels/:id/chapters/:id. 但这不是我想要的,Chapter 模型还有一个名为 number 的字段(对应于章节编号)。我想通过一个类似于 xxxx.com/novels/:novel_id/chapters/:chapter_number. 如何在不明确定义命名路由的情况下完成此操作?

现在我正在通过使用以下命名路由定义在 map.resources 上执行此操作:novels

谢谢。