问题标签 [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.
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_history
,url_for
遇到:locale
参数时突然抛出。
为什么mount
忽略scope
?如何解决我的问题(引擎路线也响应:locale
)?
这是我默认的 Blacklight-generated config/routes.rb
,修改为scope
:
tl; dr: scope
为我的所有路由添加前缀,除了mount
. 为什么,以及如何解决?
ruby-on-rails - 带有引擎路由参数的“link_to”
(虽然这里讨论的是 Blacklight 引擎,但我相信这个问题实际上纯粹是关于 Rails。)
继续我从无效scope
的mount
追求?(tl;dr:使引擎路由遵循与:locale
应用程序路由相同的范围),在挖掘 Rails 源代码之后。
目前,我有这个设置:
这使路由正常工作。但是,我有这个视图代码来生成当前页面的替代语言链接(由link_to 当前页面加上/合并参数 [duplicate]引导):
link_to
当当前页面是引擎路由时,这会失败。这是由于以下代码actionpack
:
使用link_to options, &block
我上面使用的语法name
是nil
; 并且dispatcher?
用于false
发动机路线。(如果我通过强制插入名称来通过该检查,我会得到一个无意义的 URL,例如.../assets?action=index&controller=saved_searches&locale=ja
)。
我在这里变得绝望,几乎到了我认为处理这个问题的最佳方法是正则表达式的地步。这种暴行有效:
有没有办法正确生成正确的 URL?
ruby-on-rails - 为 rails 中的集合配置路由
我有一个 Rails 应用程序需要独立搜索两个不同的集合,但两者都在单个 solr 实例中编制索引。但是,当我尝试在一个集合中搜索时,当我到达我想要显示的项目时,它会重新路由到另一个集合中的相同 ID。我应该如何调整我的 routes.rb 来解决这个问题?
这是代码:
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 响应
ruby-on-rails - 从按钮渲染更像这样的视图
我想从 Blacklight (7.0.1) 中 Solr (7.5.0) 的搜索结果创建一个按钮,单击该按钮应呈现更像此视图。
我试图将按钮包含在 catalog_controller 中,并通过辅助函数调用更像这样的视图。还尝试在 routes.rb 中定向路由。
目录控制器:
辅助函数
catalog_helper_behavior.rb
给我以下错误:
如何正确传递 id?
我只是希望 Blacklight 在按下按钮时在右侧栏中呈现更像这样的视图。
提前致谢。
blacklight - “高级搜索”不适用于 solr 方面查询
我刚刚安装了最新的高级搜索插件。当我单击“高级搜索”页面中的搜索按钮时,没有任何反应。我发现原因是我在高级搜索网页中的方面查询。以下是导致问题的我的方面查询。我在我的索引页面中使用了这个方面查询,高级搜索插件已经在我的索引页面中提取了所有方面。
我有像上面这样的多个方面查询。我尝试了以下步骤,但没有解决我的问题,
尝试通过进行以下修改来排除所有方面出现在高级搜索网页中。但是所有方面都消失了,除了上面提到的 solr facet query,
config.advanced_search[:form_solr_parameters] ||= { "facet.field" => ["author"], "facet.limit" => -1, # 返回所有 facet 值 "facet.sort" => "index" #按值的字节顺序排序 }
试图在高级搜索页面中排除特定方面查询,但不确定如何在控制器中执行此操作。
任何帮助都感激不尽。谢谢你。
solr - 在 Blacklight 中显示同一个 solr 标签的多个字段
我有一个嵌套字段形式为的 solr 索引
遗憾的是,solr 配置无法更改。
在 Blacklight 中,我想在不同的字段下分别显示foo
和显示,如下所示:bar
我在想我可以使用 config.add_index_field 和辅助方法来实现这一点:
但是,这样做时我收到错误A index_field with the key record already exists.
显然,我一次只能为每个 solr 字段添加一个索引字段。如何在 Blacklight 中将一个这样的字段变成多个字段?
ruby-on-rails - Rails Blacklight SOLR 高亮
任何人都能够获得突出显示功能来处理实际的文档视图?任何时候我添加 highlight: true 就像下面的代码然后从显示页面中删除该字段??
ruby-on-rails - 如何在 Blacklight 中为文档标题添加自定义逻辑?
title_field
我不想定义一个单独的标题,而是根据文档的内容显示一个自定义标题。根据Blacklight Wiki,这可以通过设置config.index.document_presenter_class
自定义演示者来完成:
自定义演示者覆盖label
方法的地方:
当我这样做时,我的自定义标签方法似乎没有被调用,我通过添加一条puts
语句和一个调试器断点来检查它。
是否有我可能错过的内容或显示自定义文档标题的其他方式?