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

ruby-on-rails - 在 Rails 3 资源功能中自定义一条路线

默认情况下,resources 命令将new操作的 url 生成为{model}/new. 根据文档,发送path_names = {}哈希不会更改基数。{model}我将如何/submit着手posts#new采取行动?

0 投票
2 回答
596 浏览

ruby-on-rails - Rails:RESTful 资源:值得使用还是不够灵活/被高估了?

在过去的两个月里,我一直在乱搞,到目前为止一切都进展顺利——但有一个领域我有点怀疑。

我不断听到关于 RESTful rails 资源的乐趣:即配置/路由中的“资源:foo”,以及控制器中的 7 个 RESTful 操作。

除了非常简单的事情(例如,通过运行“生成脚手架”完成 99% 的事情),我发现尝试将我的项目功能压缩到该方法中比只匹配配置/路由中的 url 并执行操作不太方便根据需要执行每个操作。

但是我一直觉得我错了,而且除了最极端的情况外,RESTful 资源都是可行的方法。

所以:

(a) 任何人都可以对此发表意见吗?

(b) 对于有经验的 Rails 人员,您在典型项目中的路线中有多少是 :resources,以及有多少是逐个操作编码的?干杯...

0 投票
1 回答
1096 浏览

ruby-on-rails - Rails 3 路线:DRY 成员

我需要将以下成员方法添加到一些资源中,有没有办法把它干掉?

在我的 routes.rb

编辑

我实际上已经把它移到了一个模块中,如下所示:

现在,我的 routes.rb 看起来像这样:

请参阅我的内联注释,但我希望命名路由看起来像:main_users_comments_up_votes

0 投票
6 回答
20653 浏览

ruby-on-rails - Rails 3 link_to (:method => :delete) 不工作

在 Rails 中的动词有问题...

查看具有许多(跳蚤)的资源(狗)的页面。嵌入到狗中的show.html.haml是一个调用,render @dog.fleas它会自动(?)找到并使用“fleas/_flea.html.haml”中的模板来列出与所述狗相关的每个跳蚤。

这显示正确。哇!现在,在每个跳蚤旁边,我放了一个“杀死跳蚤”链接,该链接指向一个 url: //localhost:3000/dogs/1/fleas/7。由以下内容生成:

但是每次单击该链接时都没有确认...并且它会呈现跳蚤的show.html页面。就好像它使用GET/dogs/1/fleas/7不是DELETE?!?

ps-不担心蜘蛛和机器人会删除我数据库中的内容...我只是想学习 Rails ..并了解正在发生的事情

0 投票
3 回答
13546 浏览

ruby-on-rails - How can I make routes from a Rails 3 engine available to the host application?

I have a Rails 3 application with several engines containing additional functionality. Each engine is a separate service that customers can purchase access to.

I am, however, having a problem with routes from the engines that aren't readily available to the controllers and views.

controller:

app/views/classrooms/new.html.haml:

config/routes.rb in engine:

config/routes.rb in app:

lib/my_engine_name.rb in engine:

attempting to go to /classrooms/new results in

and attempting to call classrooms_path from any other view results in the same error. I can, however, call MyEngineName::Engine.routes.url_helpers.classrooms_path and get it working. I'm thinking I might have defined the routes wrong, but can't find another way that works.

Tried running the app with both Passenger (standalone and Apache module) and WEBrick (rails server). Using latest Rails from Git (7c920631ec3b314cfaa3a60d265de40cba3e8135).

0 投票
3 回答
3505 浏览

ruby-on-rails - Rails 3 路线中的 with_options 有更好的方法吗?

这是我的 Rails 2 路线:

如何将这种东西转换为 Rails 3?以同样的方式继续使用 with_options ?在某些情况下它变得更加冗长,因为而不是做

我正在做

0 投票
1 回答
495 浏览

ruby-on-rails - 使用轨道管理路线

我希望能够更好地理解 rails routes 文件,但我自己无法弄清楚,因为它太复杂了。

基本上我有3个控制器。它们是:Admin、ManageProduct 和 ManageProductCategory(我有 2 个模型:Product、ProductCategory 和模型 ProductCategory has_many/belongs_to products 关系)

管理控制器操作:

  • 索引(重定向到登录)
  • 登录
  • 登出
  • 试图

ManageProduct 控制器操作:

  • 指数
  • 模型产品的 CRUD(删除、编辑、显示、列表)

管理产品类别

  • 指数
  • 模型 product_category 的 CRUD(删除、编辑、显示、列表)

我希望能够管理我的应用程序路由,这样如果我在浏览器中输入:

等等...

问题是我不知道如何设置我的路由文件,以便 rails 了解 admin/manage_product 不是管理员控制器操作...

注意:一切正常(2 个模型的 CRUD 和通过标准不推荐路线的操作链接

非常感谢您的帮助和关注

问候

0 投票
2 回答
1153 浏览

ruby-on-rails - 带有包含句点的参数的 Rails 路由

在旧版本的 Rails 中,您可以有一个包含句点的参数(通常保留以将其与格式分开),如下所示:

(这里有很好的教程)

但是,在更现代的 Rails 版本(2.3.x)中,我看到这失败了 - :domain 正在捕获所有内容,并且 :format 在请求 /c/amazon.com.html 时为空白

关于如何修改它的任何想法?

谢谢,汤姆

0 投票
2 回答
1445 浏览

ruby-on-rails-3 - 即使 rake 路线显示它,Rails 3 应用程序也不会匹配路线

这是我的路线文件的一部分:

resource :vendor do post 'modify_account' end

运行 rake routes 将生成以下行

我可以加载表单并在表单的操作中验证 URL 是否正确,但是当我提交时,应用程序会抛出错误:

No route matches "/vendor/modify_account"

关于我可以做些什么来解决问题的任何建议?Firebug 验证错误页面是 POST 类型。

0 投票
1 回答
377 浏览

ruby-on-rails - Rails 3 vs Rails 2“野控制器”路由

我试图让我的 Rails 3 项目自动解析命名空间控制器,类似于 Rails 2 的行为。例如(轨道 2):

要求:

  • /first路由到第一个控制器
  • /first/second路由到第二个控制器
  • /first/second/third路由到第三个控制器

    但是,Rails 3 使用“野生控制器”路径产生不同的路由。

    要求:

  • /first路由到第一个控制器
  • /first/second路由到 first#second
  • /first/second/third路由到 first#second :id => 'third'

    我开始认为这种命名空间控制器的自动解析不再可行了?有没有人找到一种方法来自动解析这样的命名空间控制器?

    谢谢!