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

Posted

技术标签:

【中文标题】Rails - 如何向 url 助手添加格式?【英文标题】:Rails - How to add a format to an url helper? 【发布时间】:2013-05-18 01:29:49 【问题描述】:

如何让 URL 助手以给定的请求/响应格式创建 URL?

例如,在我的测试中,我有以下内容:

get(activity_url(activity))

这将返回一个关于@response 对象的html。我希望有以下相同的行为:

get(controller: 'activities', action: 'show', id: activity.id, format: 'js')

但没有所有这些措辞。有可能吗?

【问题讨论】:

【参考方案1】:

你应该可以做这样的事情:

some_resource_path(format: :json)

some_resource_url(format: :xml)

【讨论】:

谢谢,它可以作为最后一个参数。你知道我在哪里可以找到这个 url helpers 的文档吗? 缩短语法 'some_resource_path :json' 也有效【参考方案2】:

我对 Rails/Ruby 还很陌生,所以我不知道为什么,但在我的 Rails 3.2 应用程序中,语法必须是:

some_resource_path(:format => :json)

【讨论】:

您的意思是:format => :json?它与format: :json 相同,但有一些额外的语法糖。但是,format: => :json 似乎是一个语法错误。

以上是关于Rails - 如何向 url 助手添加格式?的主要内容,如果未能解决你的问题,请参考以下文章

Rails 3. 如何添加 ActiveAdmin 将使用的助手?

如何在 Rails 中为现有模型添加自动完成标记?

如何从 rails 模块访问 URL 助手

Rails:自动添加“and”作为视图助手

如何在 Webpacker 中使用 Rails Url 助手/Rails 5.1 中的 React-rails

在 Rails 中,如何向 String 类添加新方法?