[英]API for methods on Ruby on Rails
我正在做Hartl的教程。 我经常不知道本教程中提到的某些方法是在Rails还是本教程的代码中定义的。 我在学习Rails时遇到问题查找方法。 有谁知道我在哪里可以找到API:
edit_account_activation_url(@user.activation_token, email: @user.email
清单11.13中? 有人可以建议我一般如何找到方法的API吗?
它是url助手,它是从routes.rb
自动创建的。 您可以在Rails指南中找到更多信息
在路由中resources :account_activations, only: [:edit]
行resources :account_activations, only: [:edit]
根据url生成规则,它生成1条路由:
http://www.example.com/account_activations/:id/edit
助手edit_account_activation_url
以id作为第一个参数,在您的情况下为@user.activation_token
。 作为第二个参数,它使用查询哈希(我们可以省略{}作为最后一个哈希参数)-它是{ email: @user.email }
。 那如何运作
您可以通过阅读指南和教程来解决“找不到方法的API”的问题
有人可以建议我一般如何找到方法的API吗?
好问题。 我用Pry 。
[3] pry(main)> show-source app.users_path
From: /home/sergio/.gem/ruby/2.4.4/gems/actionpack-4.2.11/lib/action_dispatch/routing/route_set.rb @ line 342:
Owner: #<Module:0x0000563dd616fc28>
Visibility: public
Number of lines: 5
define_method(name) do |*args|
options = nil
options = args.pop if args.last.is_a? Hash
helper.call self, args, options
end
在这种情况下,它比@Vasilisa提到的路由指南的帮助要少得多。 但是至少它给了你一个提示。 通常它非常有用。 尤其是当您要处理大量使用继承/混合的gem /库时,您永远不确定在这里调用的是30种call
实现中的哪一种。 这种方法显示了确切的位置和源代码。
APIdock是一个很好的信息来源 。 该站点允许您针对Ruby或Rails搜索API信息。 有用的是,用户将在API上添加有关该方法的其他代码段或注释。
Just Rails API的另一个来源是Ruby on Rails API 。 这通常会为您提供最新的API信息。 相对而言,APIdock网站将在页面顶部的版本时间线上显示不同的Rails发行版本。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.