Ruby on rails Rails可能的函数参数

Ruby on rails Rails可能的函数参数,ruby-on-rails,ruby,Ruby On Rails,Ruby,我是Rails的新手,希望改进我的工作流程。我想知道在哪里可以找到通用rails函数的可能函数参数。例如: 我想使用渲染功能。我可以传递哪些参数 为了回答这个问题,我去了。但这只告诉我函数签名: render(*args,&block) 我现在也不比以前多了 为了获得更多信息,我阅读了RubyonRails指南中关于布局和渲染的部分(这很好)。但是,即使我找到了我想要的东西,快速查找可能的选项也是不可接受的。我在寻找更简洁的东西 我怎么知道可以将:partial或:layout之类的内容传递给函

我是Rails的新手,希望改进我的工作流程。我想知道在哪里可以找到通用rails函数的可能函数参数。例如:

我想使用
渲染
功能。我可以传递哪些参数

为了回答这个问题,我去了。但这只告诉我函数签名:

render(*args,&block)

我现在也不比以前多了

为了获得更多信息,我阅读了RubyonRails指南中关于布局和渲染的部分(这很好)。但是,即使我找到了我想要的东西,快速查找可能的选项也是不可接受的。我在寻找更简洁的东西

我怎么知道可以将
:partial
:layout
之类的内容传递给函数

查看实际的源代码是另一种选择。但这也不是很方便


这个
render
函数只是一个例子。我曾在几个地方遇到过这种情况,在这些地方我想使用一个函数,但却找不到关于它实际能做什么的好文档。

您可以传递要呈现为参数的部分名称,如下所示:

<%= render :partial => 'partial_name' %>
“部分名称”%>
或者可以按如下方式传递参数:

<%= render :partial => 'users', :collection => @users, :locals => {:size => 30} %>
'users',:collection=>@users,:locals=>{:size=>30}%>

希望这会有所帮助。

您可以将要呈现为参数的部分名称传递为如下所示:

<%= render :partial => 'partial_name' %>
“部分名称”%>
或者可以按如下方式传递参数:

<%= render :partial => 'users', :collection => @users, :locals => {:size => 30} %>
'users',:collection=>@users,:locals=>{:size=>30}%>

希望这有帮助。

我们可以使用Ruby的反射功能来获取方法的参数列表(预期参数):

AbstractController::Rendering.instance_method(:render).parameters
# Output: [[:rest, :args], [:block, :block]]
输出由成对的符号组成。在每一对中,第一个符号告诉我们参数的类型(必需、可选、rest、块),第二个符号显示参数的名称

至于参数的类型:

  • :req是必需的参数
  • :rest是变量参数
  • :opt是可选参数
  • :block是块参数

有关参数类型的更多信息,请参阅。

我们可以使用Ruby的反射功能获取方法的参数列表(预期参数):

AbstractController::Rendering.instance_method(:render).parameters
# Output: [[:rest, :args], [:block, :block]]
输出由成对的符号组成。在每一对中,第一个符号告诉我们参数的类型(必需、可选、rest、块),第二个符号显示参数的名称

至于参数的类型:

  • :req是必需的参数
  • :rest是变量参数
  • :opt是可选参数
  • :block是块参数

有关参数类型的详细信息,请参见。

要渲染局部,可以传递

<%= render :partial => 'client', :collection => @users, :as => :client, :locals => {:optional => true} %>
'client',:collection=>@users,:as=>:client,:locals=>{:optional=>true}%>
其中:

:部分
您可以将名称或路由传递给分部,如“用户”或“文件夹/用户”

:收藏
例如,如果在@user中有一个用户列表,则使用此参数,此部分将重复,因为集合中有许多用户

:作为
如果传递一个集合,如果模型为user,则自动将user“user”作为局部变量,但如果在示例中需要另一个局部变量用于类似于partial的客户端,则传递该参数,并为集合的每个部分指定一个名称。所以你可以说client.name而不是user.name

:本地人

如果要将局部变量传递给分部,就像分部中有一个验证,上面写着
如果可选
,那么可以通过这种方式传递值,正如在
{}
中看到的那样,可以使用逗号传递多个值。

要渲染分部,可以通过

<%= render :partial => 'client', :collection => @users, :as => :client, :locals => {:optional => true} %>
'client',:collection=>@users,:as=>:client,:locals=>{:optional=>true}%>
其中:

:部分
您可以将名称或路由传递给分部,如“用户”或“文件夹/用户”

:收藏
例如,如果在@user中有一个用户列表,则使用此参数,此部分将重复,因为集合中有许多用户

:作为
如果传递一个集合,如果模型为user,则自动将user“user”作为局部变量,但如果在示例中需要另一个局部变量用于类似于partial的客户端,则传递该参数,并为集合的每个部分指定一个名称。所以你可以说client.name而不是user.name

:本地人

如果您想将局部变量传递给分部,就像分部中有一个验证,上面写着
如果可选
,那么您可以通过这种方式传递值,正如您在
{}
中看到的那样,您可以使用逗号传递多个值。

谢谢您的回答!但我的问题是,首先,我如何知道我可以传递
:partial
:collection
:locals
符号?谢谢你的回答!但我的问题是,我如何知道我可以首先传入
:部分
:集合
:本地
符号?谢谢你的回答。我很感兴趣的是如何知道我可以将
:partial
:layout
之类的内容传递到
渲染
函数?谢谢您的回答。我很感兴趣的是如何知道我可以将
:partial
:layout
之类的东西传递给
render
函数?
render
是一个有趣的选择,因为它对ActionView和ActionController有不同的上下文,但是
api.rubyonrails.org
是一个很好的资源,但apidoc也可以帮助哇阿皮多克几乎是我一直在寻找的。我怎么会错过那个网站。。。谢谢你的链接!不,我必须