2015-03-19 16 views
5

Rails_admin ve acts_as_taggable_on taşlar ile bir ray uygulaması kuruyorum. Daha önce projede bu ben rails_admin github wiki üzerinde eklentiler listesinde hala this gem yol açtı rails_admin github sayfasından this issue bulundu yapılabilir emin olmak için çalışırkenacts_as_taggable_on tag_lists ile modelleri tanımak için rails_admin gem'i nasıl edinebilirim?

. Yani yapılabilir gibi görünüyor.

Ben rails_admin, acts_as_taggable_on ve rails_admin_tag_list için README kurulum talimatları uygulayarak başladı. Uygulamada bazı modellerim var ve onlara gösterdikleri herhangi bir etiketleme işlevini eklemeden önce, rails_admin'de gayet iyi çalışıyorlar. Ben flash haber almak Bu formatta

class Location < ActiveRecord::Base 
    acts_as_taggable 
    acts_as_taggable_on :regions 

    private 

    def location_params 
    params.require(:location).permit(:lat, :long, :tag_list => [], :region_list => []) 
    end 
end 

: Burada

Ben etiket eklemek çalışılıyor bir model örneğidir "Model 'Yer' bulunamadı" erişirken raylar sayfası. Yer Modeli de Model listesinde görünmüyor.

Henüz veri eklemek sayfaları inşa değil ama raylar konsolu üzerinden benim veritabanına bir konum eklemek yaptı ve acts_as_taggable_on README gelen örneği kullanarak o yer için listelere etiketler eklendi

:

a = Location.new 
a.region_list.add("awesome") 

Bunu yaptıktan ve rails_admin sayfasına tekrar baktığımda yine "Model" Konumunu göremiyorum "flash bildirimi. Ama aynı zamanda modeller listesindeki yeri de görüyorum.

Konumu tıkladığımda aşağıdaki hatayı veriyor: Ben

RailsAdmin::Config::Fields.register_factory do |parent, properties, fields| 

    model = parent.abstract_model.model 

    if defined?(::ActsAsTaggableOn) && model.taggable? 
    tag_types = model.tag_types 

    if tag_types.include?(properties[:name]) 
     name = "#{properties[:name].to_s.singularize}_list".to_sym 
     fields << RailsAdmin::Config::Fields::Types::TagList.new(parent, name, properties) 

    end 
    end 

:

NoMethodError at /location 

undefined method `[]' for #<RailsAdmin::Adapters::ActiveRecord::Property:0x00000101fabd90> 

Daha İyi hataları hatalı hat olmak üzere aşağıdaki

if tag_types.include?(properties[:name]) 

hattını gösterir hala gerçekten oldukça yeni ama bu iki mücevher arasındaki etkileşim hakkında çok fazla yazılmamış gibi görünüyor Şu an. Tag_lists ile modelleri uygun şekilde görüntüleyebilmek için yöneticilerin rayları alabilmesi için verebileceğiniz her türlü bilgi için minnettarım. Teşekkürler!

cevap

4

Tamam, ben ne yapıyorum bilmiyorum diyerek Önsöz bildirin. Ama ben 'un bir ipucuna sahip olabilirim.

rails_admin_tag_list

kullandığınız gibi görünüyor, hangi Raylar 4 için güncellenmedi (Merhaba kuvvetli parametreleri!). Ve tahmin ediyorum ki, rails_admin'un son bir sürümü kullanıyorsunuz, çünkü Rails 4 üzerindeydiniz.

Zaten yaptığınız hata ayıklama işlemine dayanarak, sorunun RailsAdmin::Adapters::ActiveRecord::Property (ya da rails_admin'un daha yeni sürümlerine eklenmiş gibi görünen sorununuza en azından bitişiktir). (Ya da en azından kapsamlı bir araştırma yapmadan göründüğü şey budur.)

rails_admin_tag_list numaralı sayfada, bir sorgulama isteği var.

Yani, o çatal belirttiğini çalışırken öneririz neyi/böyle gibi, Gemfile içinde rails_admin_tag_list arasında taahhüt:

gem 'rails_admin_tag_list', :git => 'git://github.com/imouaddine/rails_admin_tag_list.git', :ref => 'a9a4e31af6fdd2124110d0dff81ab97950803e65'

İyi şanslar!

+0

Bu, esas olarak doğru cevaptı. Gem kullanarak nasıl kurduğumda başka problemler vardı ama bu gerekli bir anahtar parçasıydı ve bu soruda bahsedilen problemi geçmişti. – Roseaboveit

İlgili konular