- xml - AJAX/Jquery XML 解析
- 具有多重继承的 XML 模式
- .net - 枚举序列化 Json 与 XML
- XML 简单类型、简单内容、复杂类型、复杂内容
我正在学习 RoR,我对 Controller 和路由中使用的“_path”方法感到非常困惑。更具体地说,我指的是采用语法“(something)_path”的许多不同调用。据我所知,它们似乎都对 URL 或链接进行编码或操作。我很难掌握这种方法的使用,因为我无法弄清楚它的核心功能应该是什么。
例如,我可以使用以下代码将旧的 URL 结构重定向到我的 config/routes.rb 文件中列出的 Tweet 实例的页面:
get '/all' => 'tweets#index', as: 'all_tweets'
只有现在我才能在 .erb 文件中使用以下内容。请注意行尾的“_path”代码。
<%= link_to "All Tweets", all_tweets_path %>
我还可以使用以下代码在不同的 .erb 文件中创建指向编辑页面(和另一个操作)的链接:
<p><%= link_to tweet.user.name, edit_tweet_path(@tweet) %></p>
我曾尝试通读我的学习 Material 和 RoR 文档,但我总是比开始时更迷茫。有人知道这个“_path”方法的底层定义吗?
最佳答案
助手
它称为路由助手
,这意味着 Rails 将生成它们以帮助为您提供基于资源的路由结构。我稍后会详细解释
--
正确解释 - Rails 只是一个框架。
与所有软件一样,它是按特定顺序加载的一系列文件。因此,Rails 创建了一系列 helper methods在开机过程中。然后可以在整个应用程序中使用这些“帮助器”方法来根据需要调用功能/信息:
The Rails framework provides a large number of helpers for working with assets, dates, forms, numbers and model objects, to name a few. These helpers are available to all templates by default.
In addition to using the standard template helpers provided, creating custom helpers to extract complicated logic or reusable functionality is strongly encouraged. By default, each controller will include all helpers. These helpers are only accessible on the controller through .helpers
route
帮助程序(从您的 config/routes.rb
文件生成)使您能够调用 足智多谋 的路由。这些开始时可能看起来很奇怪,但一旦您理解了它们,就会对您大有裨益。
--
足智多谋
为了让您更清楚 - Rails 路由被称为足智多谋
这意味着它们是围绕资源构建的。为了给你一个简短的定义,你需要明白你的应用程序的资源是你可以添加和提取的数据池来自。
进一步解释,因为 Rails 是 object orientated .如果您是新手,这并不意味着什么,但请记住这一点,因为当您在语言/工作中取得进步时,您将开始明白为什么这很重要。
面向对象编程将对象置于流程的中心。通常,您会将逻辑放在中心,但对于 OOP,它是对象。这对我们来说非常重要,因为这意味着您在 Rails 中所做的一切都基于您可以创建的对象。
根据 MVC principle (这也是 Rails 的基础),您将从 Model
中创建/调用您的对象:
这意味着,如果您想为您的对象创建一系列“CRUD”(创建读取更新销毁)路由,Rails 能够创建执行该操作所需的路由。这是 resources
指令来自路由文件的地方:
希望这对您有所帮助!
关于ruby-on-rails - ruby on rails 中的 "_path"方法是什么?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25820138/
sanitize 是什么意思在 Rails 中是什么意思? 我正在阅读 CanCanCan 的文档.它说: When using strong_parameters or Rails 4+, you
在过去的几个月里,我感觉自己对 Ruby on Rails (RoR) 开发的了解达到了极限。我为大/小客户和 friend /爱好项目开发了大大小小的应用程序。我知道如何开发这些应用程序,但开始感觉
我昨天参加了一个关于扩展 Rails 的聚会,其中一个主题是 Hexagonal Rails。然而,我只做了一年的 Rails,对 MVC 结构非常满意(也许太舒服了),所以我不太了解适配器和消息队列
我使用多个 Rails 应用程序,一些在 Rails 3.2/Ruby 2.0 上,一些在 Rails 2.3/Ruby 1.8.7 上。 他们的共同点是,随着他们的成长和添加更多的依赖项/ gem
这个问题在这里已经有了答案: Using Rails-UJS in JS modules (Rails 6 with webpacker) (5 个答案) 关闭 3 年前。 我正在尝试使用 UJS
我正在开发一个当前使用 Rails 1.2 的 Rails 应用程序,所以我现在离最新的稳定版本(Rails 2.3)还有很长的路要走。 我应该如何进行迁移到更新版本的 Rails 的过程? 我应该一
尝试按照 Ryan Bates Backbone.js 教程构建抽奖应用程序,但我已经遇到了第一段代码的问题。在 application.js 的 init 函数中,他初始化了 Raffler 路由的
我正在使用 Rails 3.2 并且我有一个数据库表,我想在其中找到符合以下条件的所有行: a = true and b = true and ( 0 true, :b =>
我有一个用户类和一个联系人,其中联系人是用户的子类。这两个类都存储在用户表中。 我的联系人可能有也可能没有电子邮件地址,而我的用户需要一个电子邮件地址(我的用户模型定义中有 validates_pre
我正在编写一个教程,我在其中演示了一些 rails 命令。在我的机器上 rails和 script/rails两者都同样有效。有“首选”形式吗?两者中哪一个更普遍? 最佳答案 当您运行 rails 时
我正在寻找有关通过我的应用程序前进的最佳方式的建议,这是我首次开始集成Elasticsearch。我是一名初学者,但是热衷于深入研究,以便原谅任何明显的错误! 我遵循了http://www.sitep
我刚刚用 Rails new 启动了一个新的 Rails 应用程序,将默认数据库设置更改为 PostgresSQL。我用 bin/rails s 启动服务器,结果很奇怪 2016-04-21 05:0
我收到一个参数并希望它是这样的字符串: "abc,efg" 或者像这样的数组 ["abc","efg"] 在第一种情况下,我想将它转换成一个数组,什么是好的方法? 这是我的想法 if params[:
我刚刚用 Rails new 启动了一个新的 Rails 应用程序,将默认数据库设置更改为 PostgresSQL。我用 bin/rails s 启动服务器,结果很奇怪 2016-04-21 05:0
我收到一个参数并希望它是这样的字符串: "abc,efg" 或者像这样的数组 ["abc","efg"] 在第一种情况下,我想将它转换成一个数组,什么是好的方法? 这是我的想法 if params[:
我有 Rails 4,这是我的默认版本(我仍然希望它是)。但我不想在我的电脑上添加 rails 3.2。在以下命令中:gem install rails -v 3.2.16 我有这个警告: railt
您好,我想使用 Sheevaplug 构建一个“Rails Brick”来自 Marvell(操作系统是开箱即用的 Ubuntu,但您可以在其上安装其他发行版)。它将成为家庭服务器和静音、低成本(99
我需要能够从 Rails 控制台发送我的 Rails 应用程序的 Postgres 数据库中所有未接受的邀请。 (我有一个名为 Invitations 的表,其中包含一个名为 accepted 的 b
validate :cannot_modify_if_locked, on: :update def cannot_modify_if_locked if self.locked erro
我正在学习教程(学习 Rails 播客),需要更改以下路由语法,以便它与 Rails 3.0 兼容。谁能帮忙? map.view_page ':name', :controller => 'viewe
我是一名优秀的程序员,十分优秀!