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

ruby-on-rails-3 - Rails 3 Routes:命名路线。“没有路线匹配”

所以我得到一个“没有路由匹配”的错误,并且是 Rails 3(和一般的 Rails)的新手,我真的不知道问题是什么。以下是相关路线:

GET 方法工作正常。当在获取页面上生成的表单 POST 时,我收到一个路由错误,它以这样的方式开始。

看起来它正在发布到正确的位置,因为 url 是使用“reset_password_url”生成的,它正在发布到它,并且 url 看起来应该......有人有什么想法吗?

更新

  • 我正在使用 Rails 3.0.4
  • 除了我在这里提到的那些之外,我已经尝试过其他所有路线,但我仍然无法弄清楚为什么它不起作用。
0 投票
2 回答
2771 浏览

ruby-on-rails-3 - 如何使用命名路由过滤 Rails 中的列表操作?

鉴于我有两个模型:companylocation. Acompany有很多locations
我发现Ryan Bates 的命名路线非常有趣。
所以我为我的每个模型添加了资源routes.rb

这使我能够基于命名路由生成链接,<%= link_to "Companies", companies_path %>例如http://localhost:3000/companies.

现在我想locations根据company它们所属的列表过滤列表。在使用命名路由之前,我通过添加如下链接来完成此操作。

在这里,我将 传递company_idLocationsControllerwhich 过滤其list操作中的位置。

0 投票
1 回答
112 浏览

ruby-on-rails - 是否可以在资源丰富的路线中指定命名路线?

我只是将我的应用程序升级到 Rails 3,因为无论如何我都必须重写我的路由,所以我需要一些时间来改进我的命名路由。

我有一个具有垃圾操作的发票控制器(/invoices/trash 列出了垃圾中的所有发票)。为了简单起见,我想通过命名路由(即垃圾url)访问它。

我可以通过以下方式轻松实现这一目标

我想知道的是在我为发票控制器定义路由的块中是否有这样做的方法。我尝试了以下方法,但它不起作用。

我正在尝试做的事情是可能的还是我必须在这个块之外定义我的命名路线?

谢谢。

0 投票
1 回答
577 浏览

ruby-on-rails - Rails 中命名路由的 URL

你好,

我在生产应用程序中打印命名路由的 URL 时遇到问题。在我的一个电子邮件模板(电子邮件注册确认)中,我试图附加确认 url。这是模板片段

我的命名路线看起来像这样

它在开发环境中运行良好,并且电子邮件以这样的确认 url 呈现

但在生产环境中,我希望将 localhost:3000 替换为我的实际域名。但它仍然打印本地主机 url..

我只是想确认这是预期的行为..?

0 投票
2 回答
1487 浏览

ruby-on-rails - 渲染名为路线的轨道

如何从控制器正确渲染名为 route 的导轨?

路线.rb:

用户控制器.rb:

问题是:注册页面打开/signup,当数据@user没有正确填写render :new并被调用时,而不是去/signup它去的 url /users。我会使用redirect_to但 id 不喜欢,因为我希望将错误保存在页面上以告诉用户哪些数据未提供。

添加后更新match "signup" => "users#create", :via => "post"

谢谢

0 投票
3 回答
23125 浏览

ruby-on-rails - 已安装的轨道引擎中的命名路线

我正在制作一个像这样安装的小型导轨引擎:

使用这个答案,我已经验证引擎中的所有路由都应该是:

但是 - 当我(在引擎内部)链接到命名路由(在引擎内部定义)时,我收到此错误

运行“rake route”清楚地验证“new_post”应该是一个命名路径,所以我不知道为什么 Rails (3.1.0) 无法弄清楚。欢迎任何帮助

我的 config/route.rb (用于引擎)看起来像这样

我应该补充一点,它是独立的引擎。但是 main_app.root_path 之类的路径可以正常工作 - 而 root_path 则不行

0 投票
1 回答
127 浏览

ruby-on-rails - Rails 为 show 动作命名路由

在我的应用程序中,我分配了一个 url 的href属性,就像在我的 routes.rb 文件中profile_path使用时一样。resources :profiles我没有将任何 id 传递profile_path给应用程序,但应用程序以某种方式正确地假定它是current_user. Rails 是如何知道这一点的?如果您不传入 id,这仅仅是 rails 假定的默认值吗?

0 投票
1 回答
728 浏览

ruby-on-rails-3 - 单表继承模型 rails 3.1 的嵌套路由

我在我的模型文件中创建了一个单表继承模型,并且在路由方面遇到了困难。当我在资源中使用 :as 时,它会重命名我的命名路径。

模型文件:

路由.rb

我在路由中使用 :as,因为它是单表继承,我想传递 account_id 而不是advertisingr_account_id。我的链接是http://127.0.0.1:3000/advertiser_accounts/1/campaigns

但是,使用 :as 将我的命名路径从advertisingr_account_campaigns 重命名为account_campaigns。我的路线看起来像

所以当我使用 form_for 创建一个新项目时,我会得到“未定义的方法 `advertiser_account_campaigns_path'”

编辑:当前被黑的解决方案

我正在使用的一种破解方法是复制路由文件中的代码。有人有建议吗?

0 投票
1 回答
1170 浏览

ruby-on-rails - 命名路线轨道的多个参数3

我有以下路线:

我怎么打电话sport_path(sport, view)?当我尝试:

结果网址是:/sports/5.1. 应该是/sports/5/1(注意点而不是斜线)

0 投票
1 回答
2070 浏览

ruby-on-rails - 如何生成正确的 `url_for` 嵌套资源?

我正在使用 Ruby on Rails 3.2.2,我想url_for为嵌套资源生成正确的 URL。也就是说,我有:

注意:生成的命名路由类似于article_user_associations, article_user_association, edit_article_user_association, ...

在我看来,我使用:

然后我收到以下错误:

但是,如果我这样声明路由器

url_for方法按预期工作,并生成例如 URL /articles/1/user_associations/1

注意:在这种情况下,生成的命名路由类似于article_articles_user_associations, article_articles_user_association, edit_article_articles_user_association, ...

但是,我认为在后者/工作案例中构建/命名路由器的方式并不是“好”的。那么,是否有可能通过生成类似(而不是类似)的命名路由以某种方式使该url_for方法起作用?article_user_associationarticle_articles_user_association


我阅读了与该方法相关的官方文档ActionDispatch::Routing::UrlFor (特别是“命名路由的 URL 生成”部分),但我找不到解决方案。也许有一种方法可以让 Rails 使用特定的命名路由器,就像当您想使用self.primary_key语句更改表的主键列时一样......