问题标签 [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 回答
6232 浏览

ruby-on-rails - Ruby on Rails:我可以将请求直接路由到视图吗?

我有一个管理部分,它有一个目录的controllers子目录。即,该目录app/controllers/admin/包含一组文件,每个文件都包含一个控制器,用于处理管理部分的单独部分。

现在,我想创建一个非常简单的“管理主页”,它只是说“欢迎来到管理部分”,但我想避免为此目的创建整个控制器,或者将“操作”方法用于此视图在其他一些任意控制器中。

所以,问题是,有没有办法“直接路由到视图”——直接路由到 HTML 文件?(而且,我不想从请求的路径(例如 )路由到 HTML 文件/some-file.html;我需要从类似的路径路由/admin/。)

在这里问这个问题几乎不值得花时间创建一个存根控制器,但我相信我将来会再次有这样的需求。

0 投票
3 回答
836 浏览

ruby-on-rails - 复杂的 Rails 路由

我想做一些类似于 github 的嵌套 url,以及如何路由用户配置文件 URL 以跳过控制器?但不确定如何继续。

例如,查看他们拥有的提交:':user/:repo/commit/:sha',控制器正在提交。我将如何复制这种类型的嵌套资源?

谢谢你 :)

0 投票
3 回答
974 浏览

ruby-on-rails - 如何将请求从 Rails 重定向到 PHP 子域?

我有一个网站,例如 example.com,它是 PHP。我正在将其转换为 Rails,但有三年的问题(如杂志问题)我不想更新。值得庆幸的是,我似乎选择了一种有利的 url 格式,即。所有问题都以两位数字开头,然后在大多数情况下是文件名

example.com/00/author-name/index.php
example.com/19/author-name.php

我想通过 301 将所有对这些 php 文件的请求重定向到

存档.example.com

并使顶级 example.com 成为 Rails 站点,提供最新问题.. ~/20/author-name

子域在dreamhost上,顶层将转到heroku。(所以这不是问题的一部分。)谢谢。

0 投票
2 回答
1540 浏览

ruby-on-rails - RoR 路由问题。调用自定义操作,但被重定向以显示操作

我正在开发一个 ruby​​ on rails 项目,但我遇到了一个非常困难的基本问题。我试图在我的一个控制器中调用自定义操作,但请求以某种方式被重定向到默认的“显示”操作,我不知道为什么。

edit.html.erb 中的链接:

来自 development.log 的错误:

routes.rb 文件:

Menus_controller.rb:

create_or_add_food_item_from_text.html.erb 只是有一个 div 来显示一个带有文本框的表单。我的应用程序的其余部分工作正常,但这让我很难过。

任何帮助表示赞赏。

0 投票
1 回答
292 浏览

ruby-on-rails - i18n 重定向打破了我的测试

我有一个大型应用程序,通过 rspec 进行了超过一千次测试。

我们刚刚选择重定向任何页面,例如:

至 :

所以我在 application.rb 中做了一个前置过滤器,如下所示:

它工作得很好但是......它打破了我的很多测试,例如:

要修复此测试,我应该这样做:

但是……说真的,我不想一一解决我所有的测试……

我试图使语言环境成为这样的默认参数:

...但无法完成这项工作...有什么想法吗?

0 投票
2 回答
1773 浏览

ruby-on-rails - 在 Rails 中创建 Admin 目录

几周以来,我一直在为一个网站开发 CMS 后端。这个想法是首先在后端制作所有内容,以便它可以管理将显示在主网站上的数据库和信息。

到目前为止,我目前在正常的 rails MVC 结构中设置了所有代码。所以用户管理员是/users,视频是/videos。

我的计划是为此获取代码并将其移动到 /admin 目录。所以上面的两个控制器需要 /admin/users 和 /admin/videos 访问。我不确定如何执行 ruote(添加 /admin 作为前缀),也不确定如何管理逻辑。我想做的是设置一个额外的“中间”控制器,当访问 /admin 目录时,它以某种方式嵌套在 ApplicationControler 和目标控制器之间。这样,任何额外的标志和重载方法都可以只为 /admin 部分生成(我相信我也可以为此使用过滤器)。

如果这可行,那么下一个问题将是分离视图逻辑(但这只是重命名文件夹等等)。

要么我这样做,要么我有两个在它们之间共享 MVC 代码的 rails 实例(我猜也是数据库),但我担心这会导致很多重复错误。

关于我应该如何去做这件事的任何想法?

非常感谢!

0 投票
2 回答
735 浏览

ruby-on-rails - Rails:用于自定义操作的 model_url

假设我有一个简单的 Rails 博客应用程序。

我有一个自定义操作,比如page_views显示帖子的浏览次数。

app/views/Posts并且文件夹中还有一个关联的视图。

现在,在routes.rb我有:

在我的帖子show.html.erb文件中,我有一个指向page_views视图的链接:

另一个paths

导致找不到方法或 URL 不正确,例如:

我假设网址应该是:

那么,我在这里缺少什么?

0 投票
1 回答
770 浏览

ruby-on-rails - 具有备用主键的 map.resources

我有一个Object没有 ID 列的 Rails 模型。相反,它使用来自其他两个模型的主键元组作为其主键,dependency_id并且user_id.

我想要做的是能够做这样的事情routes.rb

并让它神奇地生成这样的 URL:

...除了我只是编造的,而且没有这样的语法。

有没有一种方法可以自定义map.resources,这样我就可以获得 RESTful URL,而不必为所有内容创建自定义路由?还是我只是因为不遵守 ID 约定而被搞砸了?

:path_prefix选项看起来有些有希望,但是我仍然需要一种方法来删除idURL 的一部分。如果可能的话,我希望仍然能够使用路径助手。

0 投票
1 回答
120 浏览

routing - rails3 路线中的等价物是什么?

我在 rails 2.3.5 中使用过这条路线——基本上,我希望能够对发送到指定路线的控制器进行参数化。

在 rails3 路线中,这相当于什么?

这不起作用:

谢谢

0 投票
1 回答
870 浏览

ruby-on-rails - 限制 Rails 中嵌套资源的路由

我正在尝试创建子资源不存在的嵌套资源。例如,Address链接到Person.

我的路线声明如下所示:

这给了我以下路线:

现在我想确保一个人的地址是只读的,即我只想要一个地址的showandindex操作。

我试过这个:

并得到这个错误:

有什么办法可以做到这一点?

编辑:我的主要问题是我没有正确使用代码块(我想尽可能使用 has_one 等)。所以我的persons路线看起来像这样(有点人为的例子):