我想从Blacklight(7.0.1)的Solr(7.5.0)的搜索结果中创建一个按钮,单击该按钮应呈现更类似此视图的视图。
我试图将按钮包含在catalog_controller中,并通过一个辅助函数来调用类似此视图的视图。 还尝试在routes.rb中定向路由。
catalog_controller:
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在按下按钮时在右侧栏中渲染更相似的视图。
谢谢。
答案 0 :(得分:2)
两件事是您发布的内容中的问题: 1. show_sidebar部分希望有一个本地调用的文档,因此应使用类似以下内容的调用:
render partial: "show_sidebar", locals: { document: _document }
more_like_this
方法是Rails助手(即返回html_safe字符串),而不是Blacklight字段值助手。答案 1 :(得分:1)
也许您错过了书签的<button type="submit" id="sendtohaskell">
操作(在您的路线中,或者在您的控制器中)。
您要访问的网址可能是index
,但您的路由中只有/bookmarks
之类的内容,因此找不到所需的get "/bookmarks/:id"
参数。