2012-04-05 8 views
12

Sitemin yönetici arayüzü için rails_admin'i kurdum.Rails Admin, yeni/özelleştirilmiş sütun eklemek için listeyi/görünüm görünümünü değiştir

Modelden biri için ek bir sütun görüntülemek istiyorum. Benim Modelimde (örneğin Öğrenci) ad, telefon, e-posta, resim url, rank vb. Özelliklere sahip olduğumu söyleyebilirim. O zaman sütunları görüntülemek zorundayım: İsim | Sıra | Önizleme (ek sütun)

Önizleme sütununda, her 'öğrenci' için öznitelikler (e-posta, resim, url vb.) Temelinde bazı render html görüntülemek istiyorum.

Kısmi bölümlerimize göre alanları/formları sağlamak için düzenleme/güncelleme/oluşturma için bir kısmi eklemenin yolunu buldum. Ama kısmi dahil etme aynı uygulama liste/şovda başarısız oluyor.

Bu nedenle, görüntülenen içeriği göstermek için kısmi olarak, model için liste/şov görünümünde ekleyebileceğim herhangi bir yol var mı?

Düzenleme: | Kod Bu rails_admin

Kod sütunların aşağıdaki gösterir

config.model Utility do 
    list do 
    field :code 
    field :priority 
    field :name 
    field :url 
    field :phone 
    field :logo 
    field :content 
    sort_by :priority 
    items_per_page 100 
    end 
end 

eklendi Öncelik | İsim Url | Telefon | Logo | İçerikler

istediğim şey | Öncelik | Önizleme i olarak servis etmek bir html göstermek istiyorum Önizleme sütununda hangi

:

blah.html (sadece örn html örneğin için, burada ben birinde görüntülenen bir şekilde işlemek istiyorum

göster/li: sayfalarının, bu nedenle de yönetici görüntüsü)

<div class="blah"> 
    <%=util.name%> <%=util.phone%> <%=util.logo%> #usage with proper divs/tags/rendering 
</div > 
+0

daha somut olun. Bazı kodları göster. –

+0

Kodu ekledim ve ayrıntılı gereksinimi belirttim. –

cevap

21
config.model Utility do 
    configure :preview do 
    pretty_value do 
     util = bindings[:object] 
     %{<div class="blah"> 
      #{util.name} #{util.phone} #{util.logo} 
     </div >} 
    end 
    children_fields [:name, :phone, :logo] # will be used for searching/filtering, first field will be used for sorting 
    read_only true # won't be editable in forms (alternatively, hide it in edit section) 
    end 



    list do 
    field :code 
    field :priority 
    field :preview 
    end 

    show do 
    field :code 
    field :priority 
    field :preview 
    end 

    # other sections will show all fields 
end 

Özet için prezentabl st çıktı için kısmi kullanmayın. Son geçersiz kılma noktası pretty_value.

+0

"önizleme" bazı belongs_to modelinin bazı verilerini içermeli? Payout.Account.Currency.code diyelim? "# {Util.name} # {util.phone} # {util.logo}" yerine "% {# {payout.account.currency.code}}" ifadesini kullandım ve görüntü için iyi çalışıyor, ancak yapabilirim 'Kod' çalışmasını sıralamak. Children_fields, ilişkili model alanlarında nasıl çalışır? – Zelid

+1

Bu benim için çalışmıyor, – Evan

+0

'un altında cevabımı görün Bu işe yarayacak, ancak Utility modeline bir yöntem eklemelisiniz, önizleme yapın, istediğiniz herhangi bir değeri döndürün. – SKR

7

Raylar Yönetici bu "sanal" alan türlerini çağırır. en kolay yolu modeline bir yöntem haline getirmek ve sonra liste/gösterisinde ona o başvurmak:

class ModelName < ActiveRecord::Base 

    def invite_link 
    %{<a href="http://site.com/#{self.uid}">invite link</a>}.html_safe 
    end 

    rails_admin do 
    configure :invite_link do 
     visible false # so it's not on new/edit 
    end 

    list do 
     field :name 
     field :invite_link 
    end 

    show do 
     field :name 
     field :invite_link 
    end 
    end 
end 
+0

Bu işe yaramasa da, bu görüş mantığını modele koymaktan kaçınmak daha iyidir. – hcarreras

-1
class Utility < ActiveRecord::Base 
    def preview 
    name 
    end 
end 

config.model Utility do 
    configure :preview do 
    pretty_value do 
     util = bindings[:object] 
     %{<div class="blah"> 
      #{util.name} #{util.phone} #{util.logo} 
     </div >} 
    end 
    children_fields [:name, :phone, :logo] # will be used for searching/filtering, first field will be used for sorting 
    read_only true # won't be editable in forms (alternatively, hide it in edit section) 
    end 



    list do 
    field :code 
    field :priority 
    field :preview 
    end 

    show do 
    field :code 
    field :priority 
    field :preview 
    end 

    # other sections will show all fields 
end 
+0

Önizleme yönteminden, boş olmayan herhangi bir değer döndürür. – SKR

-1
class ModelName < ActiveRecord::Base 
    rails_admin do 
    list do 
     field :job_title 
     field :required_experiance 
     field :salary 
     field :technical_skills 
     field :non_technical_skills  
    end 

    create do 
     field :job_title, :enum do 
     help 'Please select Job Title' 
     enum do 
      ['Business Analyst', 'Trainee Business Analyst', 'Mobile/Web Developer', 
      'iOS Developer', 'Graphic Designer', 'System Administrator', 'Content Writer'] 
     end 
     end 

     field :job_type do 
     help 'e.g. Developer, Management' 
     end 

     field :undergraduate_degree, :enum do 
     help 'Please select UG Degree' 
     enum do 
      [ 'BE', 'BCA', 'B.Tech','BCs', 'BSc', 'BBA', 'BA', 'BCom', 'BSL'] 
     end 
     end 

     field :postgraduate_degree, :enum do 
     help 'Please select PG Degree' 
     enum do 
      [ 'ME', 'MCA', 'M.Tech', 'MCs', 'MSc', 'MBA', 'MCM', 'MMM', 'MA', 'MCom'] 
     end 
     end 

     field :required_experiance, :enum do 
     help 'Please select Year' 
     enum do 
      [ 'Select Year', '1', '2', '3', '4', '5', '6', '7', '8', '9', '10'] 
     end 
    end 
    end 
end 
İlgili konular