[英]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 CataligController < ApplicationController
我應該將“ <ApplicationController”換成“ <<:add_advanced_parse_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_parse_q_to_solr)
這使我們想到了什么.
意味着……這只是意味着您正在調用屬於對象或對象類的一部分的方法。
例如
"Hasse".downcase
=> "hasse"
字符串的方法是小寫的,在上一行中,您正在字符串上調用該方法,結果將返回。
self.search_params_logic
意味着您正在對self
調用一個方法(在這種情況下, self
是CatalogController
因此您也可以完成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.