Rails新手:“<<”是什么意思?
Rails newbie: What does "<<" mean?
我正在尝试为 Blacklight 安装添加高级搜索工具,但我对 rails 了解甚少。
我被困在一个(到目前为止很棒的)教程中,该教程指出:
Turn this feature on by adding to your CatalogController definition:
self.search_params_logic << :add_advanced_parse_q_to_solr
我可以找到我的 CatalogController,但我不知道该把“<< :add_advanced_parse_q_to_solr”放在哪里。
它是顶部 class 定义的一部分吗?现在它说:
class CataligController < ApplicationController
我应该将“
“:”是什么意思,“<<”是什么意思?
如果有人对可以教我这些(我猜)基本语法的教程有任何好的参考,请在此处 post - 我很想了解我在做什么,而不仅仅是 copy/pasting 我我路过!
嗯,array << "something"
只是在 array
中添加新元素。而 :something
- 是一个符号。在使用 Rails 之前,您应该学习 Ruby 语言的基本语法。从官网开始:https://www.ruby-lang.org/en/.
添加的行应该出现在您的 CatalogController
定义中,所以...
class CatalogController < ApplicationController
self.search_params_logic << :add_advanced_parse_q_to_solr
<
操作在第一行显示class继承。
<<
操作表示将右边的值作为新元素添加到左边的数组中。等效的方法是使用数组推送方法...
self.search_params_logic.push(:add_advanced_parse_q_to_solr)
这让我们想到 .
是什么意思的问题......它只是意味着你正在调用一个方法,该方法是对象或对象的 class.
的一部分
例如
"Hasse".downcase
=> "hasse"
字符串有一个小写的方法,在上面的行中,您在字符串上调用该方法,结果将被返回。
self.search_params_logic
意味着你在 self
上调用一个方法(在这种情况下,self
是 CatalogController
所以你也可以做 CatalogController.search_params_logic
但不是很优雅)。
search_params_logic
returns 一个数组,您可以操作该数组...例如添加或删除元素。
我正在尝试为 Blacklight 安装添加高级搜索工具,但我对 rails 了解甚少。
我被困在一个(到目前为止很棒的)教程中,该教程指出:
Turn this feature on by adding to your CatalogController definition:
self.search_params_logic << :add_advanced_parse_q_to_solr
我可以找到我的 CatalogController,但我不知道该把“<< :add_advanced_parse_q_to_solr”放在哪里。
它是顶部 class 定义的一部分吗?现在它说:
class CataligController < ApplicationController
我应该将“ “:”是什么意思,“<<”是什么意思? 如果有人对可以教我这些(我猜)基本语法的教程有任何好的参考,请在此处 post - 我很想了解我在做什么,而不仅仅是 copy/pasting 我我路过!
嗯,array << "something"
只是在 array
中添加新元素。而 :something
- 是一个符号。在使用 Rails 之前,您应该学习 Ruby 语言的基本语法。从官网开始:https://www.ruby-lang.org/en/.
添加的行应该出现在您的 CatalogController
定义中,所以...
class CatalogController < ApplicationController
self.search_params_logic << :add_advanced_parse_q_to_solr
<
操作在第一行显示class继承。
<<
操作表示将右边的值作为新元素添加到左边的数组中。等效的方法是使用数组推送方法...
self.search_params_logic.push(:add_advanced_parse_q_to_solr)
这让我们想到 .
是什么意思的问题......它只是意味着你正在调用一个方法,该方法是对象或对象的 class.
例如
"Hasse".downcase
=> "hasse"
字符串有一个小写的方法,在上面的行中,您在字符串上调用该方法,结果将被返回。
self.search_params_logic
意味着你在 self
上调用一个方法(在这种情况下,self
是 CatalogController
所以你也可以做 CatalogController.search_params_logic
但不是很优雅)。
search_params_logic
returns 一个数组,您可以操作该数组...例如添加或删除元素。