Rails:如何访问 RESTful 助手?

Posted

技术标签:

【中文标题】Rails:如何访问 RESTful 助手?【英文标题】:Rails: how do you access RESTful helpers? 【发布时间】:2010-09-30 20:04:54 【问题描述】:

我正在尝试解决这个guide to Rails routing,但我被困在3.3 部分:

创建一个 RESTful 路由也会在您的应用程序中提供一堆帮助程序

然后他们列出了一些帮助者,例如 photos_urlphotos_path 等。

我的问题:

在哪里可以找到“可用”助手的完整列表?

有没有办法在控制台中调用助手?我创建了一个应用程序,然后使用script/console 打开了控制台。我试图像这样在控制台上调用其中一个助手:

>> entries_url

但是得到了:

NameError: undefined local variable or method `entries_url' for #<Object:0x349a4>
    from (irb):8

【问题讨论】:

【参考方案1】:

我想这可能就是你要找的……http://topfunky.com/clients/peepcode/REST-cheatsheet.pdf

【讨论】:

【参考方案2】:

rake routes 在命令行中应该会为您提供该列表。

【讨论】:

取第一列并附加 _url 以获得完整的 URI 或 _path 以获得不包括域名的 URI。 有没有办法生成一个助手列表,并明确写出 _url 和 _path 和参数?在嵌套资源的情况下最有帮助,可以清楚地查看每个帮助程序采用的参数(如果有的话)。【参考方案3】:

你有几个问题,其中大部分已经被下面的人回答了。

对于未完全解决的问题,答案是:是的,您可以使用脚本/控制台查看您的路线去向。只需输入app.[route_helper],它就会响应路径。例如app.users_path 将返回/users/

因此,对于您的示例,输入 app.entries_url 以获得完整 URL - 或 app.entries_path 输入其在控制台中的相对路径。

【讨论】:

额外的 anchovies 是它可以完成选项卡,例如,在控制台输入 app.edit[tab] 并列出所有以“edit”开头的路由辅助方法。【参考方案4】:

根据记忆,由于某种原因,您无法从控制台调用 url/path 助手。

【讨论】:

【参考方案5】:

您可以通过添加“helper.”来访问控制台中的其他助手; IE。 helper.progress_box(当然假设存在#progress_box)

【讨论】:

以上是关于Rails:如何访问 RESTful 助手?的主要内容,如果未能解决你的问题,请参考以下文章

如何在 ruby​​ on rails 中访问 rails 助手和嵌入资产 javascript 文件中的 ruby​​?

如何在 Rails 中测试助手?

如何将 Rails 视图助手提取到 gem 中?

如何通过任意 erb 文件访问任意视图助手的方法?

如何在 Jbuilder 中使用带有 Gon gem 的 Rails 助手?

Rails - 如何向 url 助手添加格式?