问题标签 [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 投票
1 回答
113 浏览

ruby-on-rails - 只有 url 中的 id 和表单编辑的 rails 路由

我的应用程序有一个Article模型和文章的网址是这样的

routes.rb我已经设置

一切正常。

编辑文章时,表单不会更新,因为表单操作指向文章路径

例如,这是生成的表格

当我提交表单时,它只是进入文章显示页面。

这是我的 _form.html.erb 部分

以前有人遇到过这种问题吗?请帮忙

谢谢

0 投票
1 回答
277 浏览

ruby-on-rails - 您如何处理 Rails 2 路由中的错误格式?

如何处理 Rails 2.3 中路线中的错误格式?例如,假设您有一个要处理 html 或 json 请求的操作,但没有其他操作,您如何在允许发布用户可读错误的同时限制它?以下片段显示了一个开始:

问题是用什么代替?,我试过:

并且虽然状态代码设置得当,但文本不会被渲染(至少使用像 com 这样的格式,这是我收到的格式。

一种可能性是更改路由文件,以便只接受两种格式,但这会导致路由爆炸。(我有 4 种可接受的格式。)使用的想法

听起来不错,但不起作用——它与 xyz.comhtml 之类的内容相匹配。我很沮丧,希望我缺少一些东西。

0 投票
2 回答
887 浏览

ruby-on-rails-3 - 路由错误,来自 railstutorial.org 的 Michael Hartl 的截屏视频

我正在关注来自 railstutorial.org 的 Michael Hartl 的截屏视频。根据第 5 章,我将 config/routes.rb 更改为:

和 _footer.html.erb 到:

  • <%= link_to "关于", about_path %>
  • <%= link_to "联系人", contact_path %>

和 _header.html.erb 到:

我是 Ruby on Rails 的新手。我在浏览器中收到路由错误

没有路线匹配“/pages/contact”

我正在使用 ruby​​ 1.9.2p180(2011-02-18 修订版 30909)[x86_64-linux]、rails 3.0.7 和 gem 1.6.2 请帮忙。

0 投票
1 回答
149 浏览

ruby-on-rails-3 - Railscasts #71:尝试在 post 方法中传递参数时出现路由错误

我正在使用 RSpec-2 来测试我的控制器,但我看到了奇怪的行为。基本上我做的和Railscasts #71一样

这会导致以下错误:

显然:deliverable不应该是路由的一部分而是写入params. 我的问题始于不确定post调用哪种方法。

我的 Gemfile.lock 可以在这里找到。


编辑

我的 routes.rb 可以在这里找到。

0 投票
1 回答
53 浏览

ruby-on-rails - 嵌套资源段错位

我正在尝试实现基本的社交网络功能,以允许用户添加、删除朋友、接受和拒绝好友请求。

我的用户资源如下所示:

生成这条路线user_friend DELETE /users/:user_id/friends/:id

但问题是当我访问时/users/1,生成的链接delete_user_friend_path如下所示:http://localhost:3000/users/5/friends/1

0 投票
1 回答
700 浏览

ruby-on-rails - Heroku 上多部分表单的路由问题

这是一个非常奇怪的问题,不幸的是我无法提供大量信息,因为我什至不知道从哪里开始诊断问题。我希望有人听到神奇的声音知道该怎么做,我很乐意在必要时澄清一下。

出于某种原因,每当我使用 Chrome 在 Heroku 上提交带有文件附件的新多部分表单时,我都会在提交到默认的“索引”操作时被发送——也就是说,如果我提交了我将被发送到的页面GET 而不是 POST。

我在 Rails 中使用标准 RESTful 路由,所以我的 routes.rb 中有以下内容:

我的表格很标准:

但同样,这被视为 GET 而不是 POST 请求,所以我只是被重定向到 /documents。即使我:method => :post在表单定义中手动指定也是如此。

真正非常奇怪的是,这只发生在 Heroku 上,而且只发生在 Chrome 上。这些表单在我使用 Chrome 的本地开发版本或使用 Safari 的 Heroku 上运行良好。

代码中的任何地方都没有发生重定向,当我检查 Heroku 日志时,它只向 /documents 报告 GET,而不是带有后续处理的 POST 可以解释这一点。

任何帮助将不胜感激。我真的不知道从哪里开始尝试解决这个问题。

更新:我正在使用 Chrome for Mac,版本 12.0.742.53 beta。

这是表单输出。

路线似乎没有任何问题,其中包括以下内容:

0 投票
1 回答
356 浏览

ruby-on-rails - Rails 3路由寻找错误的控制器

首先我在 config/route.rb 中有这条路线

然后我跑了rake routes,路线正确生成:

问题是当我尝试从浏览器(http://localhost:3000/inbox/index)获取页面时,出现错误消息:

应用程序跟踪中没有任何内容,并且在 env 转储中生成了正确的控制器:

为什么 rails 试图打电话InboxesController

顺便说一句,我在同一个应用程序中有另一条路线可以完美运行:

我不知道如何隔离这个问题,请给我提示。

0 投票
1 回答
58 浏览

ruby-on-rails-3 - Rails 3 路线帮助

这可能很简单,但我无法弄清楚。

我正在尝试通过 url "/submit" 创建一条到 :submissions#new 的路由

上面的代码工作正常,但我想阻止标准的“资源”创建的“/submissions/new”URL,并且只使用“/submit”URL。我编写这两个 URL 的方式将呈现提交 #new,这是我不想要的。

当我注释掉“resources”代码行并且只使用“match”行时,它再也找不到控制器“submissions_controller”

这是错误消息:

ActionController::RoutingError 在提交#new

显示 /media/sf_admin/Projects/lolsnort/app/views/submissions/_form.html.erb 其中第 1 行提出:

没有路线匹配 {:controller=>"submissions"}

任何帮助,将不胜感激。谢谢。

0 投票
2 回答
2440 浏览

ruby-on-rails-3 - 在 Rails 中忘记密码

我正在尝试在 Rails 中实现忘记密码的解决方案。我有一个表格供用户输入其注册帐户的电子邮件地址,并且我打算让邮寄者通过电子邮件向他们发送一个唯一的 URL,该 URL 将他们链接到密码重置页面。

我的config/routes.rb文件有以下路线:

当我从控制台运行rake 路由时,我得到了我想要的路径:

但!当用户点击下面代码中概述的表单上的提交按钮时:

我得到一个

没有路由匹配“/users/reset_password”

通过 ActionController 出错。

事实上,我确实为lost_password_users_pathreset_password_users_path定义了视图和控制器函数,所以我很困惑为什么会遇到这个路由错误。

我有两个问题:

  1. 当我明确定义了路径、方法和视图时,为什么 ActionController 会引发此错误?
  2. 是否有其他人在 RoR 中实施了密码重置,您能否就这种方法是否是好的做法提供任何见解?

提前致谢!

0 投票
3 回答
1552 浏览

ruby-on-rails - 没有路由匹配错误 - 使用嵌套资源

我的routes.rb文件中有以下嵌套资源

我的模型:

访问时出现以下错误: /issuer/2/certificates

No route matches {:action=>"edit", :controller=>"certificates"}

任何帮助将不胜感激..提前致谢!

编辑:我的rake routes