首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >为rails中的集合配置路由

为rails中的集合配置路由
EN

Stack Overflow用户
提问于 2018-01-31 00:01:33
回答 2查看 71关注 0票数 0

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

代码如下:

代码语言:javascript
复制
Rails.application.routes.draw do


  get 'biofile/search'

  get 'masterfile/search'

  mount Blacklight::Engine => '/'
  Blacklight::Marc.add_routes(self)
  root to: "catalog#index"
    concern :searchable, Blacklight::Routes::Searchable.new

  resource :catalog, only: [:index], as: 'catalog', path: '/',    controller: 'catalog' do
concerns :searchable
  end

  resource :masterfile, only: [:search], as: 'masterfile', path: '/masterfile', controller: 'masterfile' do
concerns :searchable
  end

  resource :biofile, only: [:search], as: 'biofile', path: '/biofile',   controller: 'biofile' do
concerns :searchable
  end

  devise_for :users
  concern :exportable, Blacklight::Routes::Exportable.new

resources :solr_documents, only: [:show], path: '/catalog', controller: 'catalog' do
    concerns :exportable
  end

  resources :solr_documents, only: [:show], path: 'masterfile', controller: 'masterfile' do
        concerns :exportable
      end

  resources :solr_documents, only: [:show], path: 'biofile', controller: 'biofile' do
    concerns :exportable
  end

  resources :bookmarks do
    concerns :exportable


    collection do
      delete 'clear'
    end
  end


  get '/catalog/masterfile/', to: 'masterfile#search', as: 'masterfile'
  get '/catalog/biofile/', to: 'biofile#search', as: 'biofile'

  get '*path' => redirect('/')

end
EN

回答 2

Stack Overflow用户

发布于 2018-01-31 02:15:11

您是在询问嵌套路由吗?您希望路径看起来像model1_model2_path吗?下面的示例将为您提供要在视图中使用的成员资格,url将包含组的id和成员资格的id,如.../ group_memberships_path /22/group_memberships_path/13/edit

使用Rails5.x中的rails routes或Rails4中的rake routes查看新路由的列表,您可以看到urls将采用可以传递给应用程序的2个id。

代码语言:javascript
复制
  # nested routes for groups
  resources :groups do
    resources :memberships
  end
票数 0
EN

Stack Overflow用户

发布于 2018-01-31 06:11:14

我认为您需要通过配置或monkeypatch来覆盖此方法https://github.com/projectblacklight/blacklight/blob/9f676994f437f7664cfc2b5c4dffe4382a6d14d3/lib/blacklight/search_state.rb#L48,以根据solr文档中的某些信息来改变行为

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/48525685

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档