0

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

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

目录控制器:

config.add_index_field 'id', helper_method: :more_like_this

辅助函数

def more_like_this
render_document_sidebar_partial
end

catalog_helper_behavior.rb

def render_document_sidebar_partial(_document = @document)
  render partial: 'show_sidebar'
end

给我以下错误:

No route matches {:action=>"show", :controller=>"bookmarks", :id=>nil}, missing required keys: [:id]

如何正确传递 id?

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

提前致谢。

4

2 回答 2

2

您发布的内容中有两件事存在问题:1. show_sidebar 部分期望有一个本地调用文档,因此应该使用以下内容调用:

 render partial: "show_sidebar", locals: { document: _document }
  1. Blacklight 字段的 helper_method 配置标识期望使用参数散列调用的方法,该参数散列至少具有 SolrDocument 的 :document 键和字段名称的 :field 键 - 该more_like_this方法是 Rails 帮助器(即,它返回html_safe 字符串),而不是 Blacklight 字段值助手。
于 2019-04-29T14:40:41.213 回答
1

也许您缺少index书签操作(在您的路线中,也可能在您的控制器中)。

您要去的网址可能是,/bookmarks但您的路线中只有类似get "/bookmarks/:id"的东西,所以它没有找到所需的:id参数。

于 2019-04-26T14:28:19.710 回答