簡體   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