我正在尝试将高级搜索工具添加到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"thingie.
它是顶级类定义的一部分吗?现在它说:
class CataligController < ApplicationController
我应该用"<<:add_advanced_parse_q_to_solr"交换" ":"是什么意思,"<<"是什么意思? 如果有人对可以教我这些(我猜)基本语法的教程有任何好的参考,请在这里发布 - 我很想知道我在做什么而不是只是复制/粘贴我的方式! 添加的行应出现在您的 该 self.search_params_logic.push(:add_advanced_parse_q_to_solr) 这让我们想到了什么 例如 字符串有一个方法downcase,在上面的行中,你在字符串上调用该方法,结果将被返回. 将
1> SteveTurczyn..:CatalogController
定义中,因此......class CatalogController < ApplicationController
self.search_params_logic << :add_advanced_parse_q_to_solr
<
操作在第一行显示了类继承.所述<<
操作装置加在右侧作为一个新的元件来在左侧的阵列值.一种等效的方法是使用数组推送方法.......
意思......它只是意味着你正在调用一个方法,它是一个对象或对象类的一部分."Hasse".downcase
=> "hasse"
self.search_params_logic
意味着你调用一个方法self
(在这种情况下,self
就是CatalogController
这样,你可能也做CatalogController.search_params_logic
,但它不是很优雅).search_params_logic
返回一个数组,你可以操纵数组......添加或删除元素,例如.