/ / Jak hanlde wyświetlać w szynach dane, które nie należą do modelu i nie są modelem same w sobie? - ruby-on-rails-3, lista, crud, dane aplikacji

Jak przechowywać listę danych, które nie należą do modelu i nie jest modelem samodzielnie w szynach? - ruby-on-rails-3, list, crud, dane aplikacji

W moim projekcie szyn mam inną listę danychże muszę zarządzać operacjami CRUD, a każda lista nie zasługuje na model lub całe rusztowanie, aby go obsługiwać, jaki jest najlepszy sposób radzenia sobie z tym na szynach?

Teraz używam modelu listy o nazwie: treść ciągu: tekst, aby zapisać każdą listę jako rekord listy i przeprowadzić analizę, gdy potrzebuję listy w mojej aplikacji. Oto mój rzeczywisty model listy:

class NoListException < Exception
end

class List < ActiveRecord::Base
validates :name, uniqueness: true

def self.container_types
get_list("container_types").collect do |b|
b.split(",").collect {|c| c.split(":").last }
end.collect {|p| "#{p.last} - #{p.first}" }
end

def self.location_categories
get_id_value_list("location_categories")
end

def self.services_types
get_list("services_types")
end

private

def self.get_id_value_list(name)
get_list(name).collect do |b|
(b.split(",").collect {|c| c.split(":").last }).rotate
end
end

def self.get_list(name)
list = List.find_by_name(name)
raise NoListException if list.nil?
list.content.split(";")
end
end

Myślę, że jest to bardzo częsty problem, dlatego pytam, czy istnieje lepszy sposób obsługi tych list?

Odpowiedzi:

0 dla odpowiedzi № 1

Nie jest źle mieć model bez rusztowańwesprzeć to. Często robię to z modelami kategorii lub tagów, które są często tworzone i zarządzane przez modele, na których działają. Więc nie odczuwaj presji, aby zbudować całe rusztowanie dla prostego modelu.

Jeśli nie musisz utrwalać danych wbazy danych, wtedy zawsze możesz użyć ActiveModel, lub jeśli musisz się uporać i możesz znaleźć inny model, na którym można nałożyć piggy back, zajrzyj do serializacji, to dobry sposób na przechowywanie luźnych danych