https://github.com/dockyard/postgres_ext-serializerspostgres_ext/serializzatori aiutano ... sembra così semplice, ma non si può ottenere nulla per funzionare come descritto
questo sembra così semplice da configurare, ma io non riesco a ottenere qualsiasi funzionalità di base per lavorare in termini di spostamento del JSON da binari a postgres. Ho provato a includere quanto segue nel mio init di ams, nei miei serializzatori specifici e nei miei modelli, ma non sembra mai attivarsi.
Sono on Rails 4.2.3 e Rubino 2.2
e questo è quello che ho provato ad aggiungere a più file:
richiedono 'postgres_ext/serializzatori'
Apprezzo davvero il tuo aiuto, so che mi manca qualcosa di ovvio.
Aggiornamento: Per dare un po 'di più contesto, leggere le istruzioni README.md per questo gioiello, si dice solo"
richiedono solo 'postgres_ext/serializzatori' e utilizzare ActiveModel :: ! serializzatori come si farebbe normalmente
Così ho aggiunto require 'postgres_ext/serializzatori' al mio application.rb, fatto un piccolo di modifica ad un serializzatore per vedere se ha funzionato:
class UserSerializer < ActiveModel::Serializer
cached false
attributes :id, :username, :location, :full_name
def full_name
"#{object.first_name} #{object.last_name}"
end
def full_name__sql
"first_name || ' ' || email"
end
end
Poi vorrei eseguire il seguente nella mia console Rails:
users = User.first(10)
ActiveModel::ArraySerializer.new(users, each_serializer: UserSerializer).to_json
Ma l'attributo nome completo __sql non è mai stato mostrato e non sembrava a tirare i dati da Postgres in modo diverso rispetto a prima.
E questo è quello che sembra il mio application.rb come:
# require 'postgres_ext/serializers' ### Doesn't work here
require File.expand_path('../boot', __FILE__)
require 'rails/all'
require 'postgres_ext/serializers'
Bundler.require(*Rails.groups)
module Baller
class Application < Rails::Application
# Do not swallow errors in after_commit/after_rollback callbacks.
config.active_record.raise_in_transactional_callbacks = true
# From: http://www.benfranklinlabs.com/where-to-put-rails-modules/
# config.autoload_paths += %W(#{config.root}/lib) # add this line
config.autoload_paths += %W(#{config.root}/lib)
config.autoload_paths += Dir["#{config.root}/lib/**/"]
end
end
Grazie!
Aggiungi messaggi di errore esatti alla tua domanda. Che cosa esattamente non funziona e come lo sai? – EugZol
@EugZol ha appena aggiunto più dettagli al mio post. Grazie per aver guardato! – Hawk