Railsプロジェクトには、CRUD操作で管理する必要のあるデータのさまざまなリストがあり、各リストはモデルまたはそれを維持するための足場全体に値するものではありません。これをRailsで処理するための最良の方法は何ですか?
現在、name:string content:textのリストモデルを使用して、各リストをリストレコードとして保存し、アプリでリストが必要なときに解析を行っています。これが私の実際のリストモデルです:
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
非常に一般的な問題だと思います。そのため、これらのリストを処理するためのより良い方法があるかどうかを尋ねます。