问题标签 [blacklight]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
1 回答
274 浏览

ruby-on-rails - `scope` 围绕 `mount` 无效?

(虽然这里讨论的是 Blacklight 引擎,但我相信这个问题实际上纯粹是关于 Rails。)

我正在尝试将国际化添加到我的 Blacklight 应用程序中。为此,我

  • 将所有内容都包裹在config/routes.rb,scope "(:locale)", locale: /en|ja/

  • app/controllers/application_controller.rb我添加before_action :set_locale并覆盖default_url_options

正如Rails i18n 指南所建议的那样。大多数事情都有效,但有一件事我无法弄清楚。

我的所有应用程序路由都已正确映射,例如http://www.example.com/en/catalog/12345与 正确匹配(/:locale)/catalog/:id(.:format),并被路由到catalog#show) {:id=>/[^\/]+(?=\.json|\.html|$|\/)/, :locale=>/en|ja/}。Devise 的所有 URL 都很好。一切正常……除了mount-ed Blacklight 引擎。

显然,Blacklight 引擎不听scope. rake routes显示:

而不是(:locale)/search_history(.:format)我希望的那样。

我已经修改了 Blacklight 模板,以便获得一个指向当前页面的日文和英文语言选择器,但是当我导航到时search_historyurl_for遇到:locale参数时突然抛出。

为什么mount忽略scope?如何解决我的问题(引擎路线也响应:locale)?

这是我默认的 Blacklight-generated config/routes.rb,修改为scope

tl; dr: scope为我的所有路由添加前缀,除了mount. 为什么,以及如何解决?

0 投票
1 回答
521 浏览

ruby-on-rails - 带有引擎路由参数的“link_to”

(虽然这里讨论的是 Blacklight 引擎,但我相信这个问题实际上纯粹是关于 Rails。)

继续我从无效scopemount追求?(tl;dr:使引擎路由遵循与:locale应用程序路由相同的范围),在挖掘 Rails 源代码之后。

目前,我有这个设置:

这使路由正常工作。但是,我有这个视图代码来生成当前页面的替代语言链接(由link_to 当前页面加上/合并参数 [duplicate]引导):

link_to当当前页面是引擎路由时,这会失败。这是由于以下代码actionpack

使用link_to options, &block我上面使用的语法namenil; 并且dispatcher?用于false发动机路线。(如果我通过强制插入名称来通过该检查,我会得到一个无意义的 URL,例如.../assets?action=index&controller=saved_searches&locale=ja)。

我在这里变得绝望,几乎到了我认为处理这个问题的最佳方法是正则表达式的地步。这种暴行有效:

有没有办法正确生成正确的 URL?

0 投票
2 回答
72 浏览

ruby-on-rails - 为 rails 中的集合配置路由

我有一个 Rails 应用程序需要独立搜索两个不同的集合,但两者都在单个 solr 实例中编制索引。但是,当我尝试在一个集合中搜索时,当我到达我想要显示的项目时,它会重新路由到另一个集合中的相同 ID。我应该如何调整我的 routes.rb 来解决这个问题?

这是代码:

0 投票
2 回答
237 浏览

ruby-on-rails - 你可以使用带有 JS 框架(如 Vue)的 Rails 引擎吗

我想用https://github.com/projectblacklight/blacklight做一个项目 我可以将它用作带有 Vue 前端的 Rails API 吗?

它是一个返回 JSON 的 Rails 引擎,但它传统上在 Rails 应用程序中用作插件/Gem(实际上它是一个类似的引擎)。

https://github.com/projectblacklight/blacklight/wiki 每个 Blacklight 搜索都提供搜索结果的 JSON、RSS 和 Atom 响应

0 投票
2 回答
88 浏览

ruby-on-rails - 从按钮渲染更像这样的视图

我想从 Blacklight (7.0.1) 中 Solr (7.5.0) 的搜索结果创建一个按钮,单击该按钮应呈现更像此视图。

我试图将按钮包含在 catalog_controller 中,并通过辅助函数调用更像这样的视图。还尝试在 routes.rb 中定向路由。

目录控制器:

辅助函数

catalog_helper_behavior.rb

给我以下错误:

如何正确传递 id?

我只是希望 Blacklight 在按下按钮时在右侧栏中呈现更像这样的视图。

提前致谢。

0 投票
1 回答
72 浏览

blacklight - “高级搜索”不适用于 solr 方面查询

我刚刚安装了最新的高级搜索插件。当我单击“高级搜索”页面中的搜索按钮时,没有任何反应。我发现原因是我在高级搜索网页中的方面查询。以下是导致问题的我的方面查询。我在我的索引页面中使用了这个方面查询,高级搜索插件已经在我的索引页面中提取了所有方面。

我有像上面这样的多个方面查询。我尝试了以下步骤,但没有解决我的问题,

  1. 尝试通过进行以下修改来排除所有方面出现在高级搜索网页中。但是所有方面都消失了,除了上面提到的 solr facet query,

    config.advanced_search[:form_solr_parameters] ||= { "facet.field" => ["author"], "facet.limit" => -1, # 返回所有 facet 值 "facet.sort" => "index" #按值的字节顺序排序 }

  2. 试图在高级搜索页面中排除特定方面查询,但不确定如何在控制器中执行此操作。

任何帮助都感激不尽。谢谢你。

0 投票
1 回答
44 浏览

solr - 在 Blacklight 中显示同一个 solr 标签的多个字段

我有一个嵌套字段形式为的 solr 索引

遗憾的是,solr 配置无法更改。

在 Blacklight 中,我想在不同的字段下分别显示foo和显示,如下所示:bar

我在想我可以使用 config.add_index_field 和辅助方法来实现这一点:

但是,这样做时我收到错误A index_field with the key record already exists.

显然,我一次只能为每个 solr 字段添加一个索引字段。如何在 Blacklight 中将一个这样的字段变成多个字段?

0 投票
1 回答
89 浏览

ruby-on-rails - Rails Blacklight SOLR 高亮

任何人都能够获得突出显示功能来处理实际的文档视图?任何时候我添加 highlight: true 就像下面的代码然后从显示页面中删除该字段??

0 投票
1 回答
37 浏览

ruby-on-rails - 如何在 Blacklight 中为文档标题添加自定义逻辑?

title_field我不想定义一个单独的标题,而是根据文档的内容显示一个自定义标题。根据Blacklight Wiki,这可以通过设置config.index.document_presenter_class自定义演示者来完成:

自定义演示者覆盖label方法的地方:

当我这样做时,我的自定义标签方法似乎没有被调用,我通过添加一条puts语句和一个调试器断点来检查它。

是否有我可能错过的内容或显示自定义文档标题的其他方式?