繁体   English   中英

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_pa​​rse_q_to_solr”放在哪里。

它是顶部类定义的一部分吗? 现在它说:

class CataligController < ApplicationController

我应该将“ <ApplicationController”换成“ <<:add_advanced_pa​​rse_q_to_solr”,还是应该追加它?

“:”是什么意思,“ <<”是什么意思?

如果有人对可以教给我这些(我想)基本语法的教程有很好的引用,请在此处发布它们-我很想了解我在做什么,而不仅仅是复制/粘贴我的方法!

添加的行应出现在CatalogController定义中,因此...

class CatalogController < ApplicationController
  self.search_params_logic << :add_advanced_parse_q_to_solr

<操作在第一行显示类继承。 <<操作意味着将右边的值作为新元素添加到左边的数组中。 一种等效的方法是使用数组push方法。

self.search_params_logic.push(:add_advanced_pa​​rse_q_to_solr)

这使我们想到了什么. 意味着……这只是意味着您正在调用属于对象或对象类的一部分的方法。

例如

"Hasse".downcase
=> "hasse"

字符串的方法是小写的,在上一行中,您正在字符串上调用该方法,结果将返回。

self.search_params_logic意味着您正在对self调用一个方法(在这种情况下, selfCatalogController因此您也可以完成CatalogController.search_params_logic但这不是很优雅)。

search_params_logic返回一个数组,您可以操纵该数组...例如,添加或删除元素。

好吧, array << "something"只是将新元素添加到array :something是一个符号。 在使用Rails之前,您应该学习Ruby语言的基本语法。 从官方网站开始: https : //www.ruby-lang.org/en/

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM