gpt4 book ai didi

ruby-on-rails - Rails中的url辅助程序的文档在哪里?

转载 作者:行者123 更新时间:2023-12-03 09:17:22 25 4
gpt4 key购买 nike

我怎么知道url helper在Rails中采用什么参数?例如,如何知道url helper仅采用以下一个参数?我知道这些方法是元编程的,但是它们的文档在哪里?

link_to "New Ticket", new_project_ticket_path(@project)

最佳答案

您可以通过查看路由定义来确定路由助手需要多少个参数。

例如,您可能具有以下路由文件:

resources :users

如果您在命令行上运行 rake routes,您将看到类似以下内容:

    users GET    /users(.:format)          users#index
POST /users(.:format) users#create
new_user GET /users/new(.:format) users#new
edit_user GET /users/:id/edit(.:format) users#edit
user GET /users/:id(.:format) users#show
PUT /users/:id(.:format) users#update
DELETE /users/:id(.:format) users#destroy

第一列为您提供路线名称。您可以附加 _path_url以获取路由助手的名称。

第三列显示了模式。在这里您可以弄清楚参数是什么。参数是用冒号作为前缀的部分,而可选参数则显示在括号中。例如, edit_user路由的模式 /users/:id/edit(.:format)包含一个必需参数( id)和一个可选参数( format),这告诉我我需要至少传递一个参数到 edit_user_pathedit_user_url helper:
edit_user_path(1) # => "/users/1/edit"
edit_user_path(2, :html) # => "/users/2/edit.html"

您还可以将模式中的参数名称用作哈希中的键:
edit_user_path(id: 3, format: 'js') # => "/users/3/edit.js"

最后,您可以添加其他参数,这些参数将成为查询字符串的一部分:
edit_user_path(id: 4, format: 'json', foo: 1) # => "/users/4/edit.json?foo=1"
edit_user_path(5, bar: 2) # => "/users/5/edit?bar=2"

有关 rake routes的更多信息,请参见 Rails Routing Guide's section on Listing Existing Routes

关于ruby-on-rails - Rails中的url辅助程序的文档在哪里?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17458337/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com