簡體   English   中英

如何鏈接到 rails_admin 中的集合而不是 belongs_to 中的單個項目?

[英]How do I link to a collection in rails_admin instead of individual items in a belongs_to?

我有一家有很多客戶的公司。 默認情況下,在查看公司選項卡時,我有一個包含客戶的字段。 每個客戶都有自己單獨的指向顯示頁面的鏈接。 我正在嘗試將其連接起來,以便我不會將每個單獨的客戶視為公司展示頁面上的鏈接,而是將其視為屬於該公司的“客戶”索引的一般鏈接。

這是公司 model

has_many :clients, class_name: 'Client', primary_key: 'friendlyName', foreign_key: 'shortname'

這是客戶端 model

belongs_to :company, class_name: 'Company', foreign_key: 'shortname', primary_key: 'friendlyName'

這種關系似乎設置正確。

這是我在 rails_admin 中嘗試過的

  config.model 'Company' do
    exclude_fields :created_at, :updated_at
    object_label_method do
      :custom_label_method
    end
    
    list do
      field :all_clients do
        formatted_value do
          path = bindings[:view].index_path(model_name: 'Client', all_clients: bindings[:object].id)
          bindings[:view].link_to('Clients', path)
        end
      end
    end
  end

這是我找到的一個代碼片段,它確實可以創建指向客戶索引頁面的自定義鏈接,但它沒有考慮 belongs_to 關聯。

您走在正確的軌道上,您需要像 RailsAdmin 在按公司過濾索引視圖中的客戶記錄時那樣構建鏈接。 您需要手動執行一次才能確定鏈接的構建方式。 在圖像中,這就是我的意思

在此處輸入圖像描述

我添加了一個過濾器並查看了 url rails admin 構建的。

確保你有客戶端索引配置有公司字段能夠做到這一點。

class Client < ApplicationRecord
  rails_admin do
    list do
      field :company do
        filterable true
      end
    end
  end
end

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM