레일스 프로젝트에서 Formtastic을 사용하여 양식을 관리하고 있습니다. 나는 모델, 태그, 컬럼, "그룹"을 가지고있다. 그룹 열은 내 태그를 구성하는 간단한 하드 코딩 된 방법 일뿐입니다. 당신이이 조직 어떻게 볼 수 있도록 내 태그 모델 클래스를 게시 할 예정입니다Formtastic for Rails에서 주어진 모델에 대한 열로 그룹화 된 선택 상자를 그룹화하려면 어떻게합니까?
class Tag < ActiveRecord::Base
class Group
BRAND = 1
SEASON = 2
OCCASION = 3
CONDITION = 4
SUBCATEGORY = 5
end
has_many :taggings, :dependent => :destroy
has_many :plaggs, :through => :taggings
has_many :monitorings, :as => :monitorizable
validates_presence_of :name, :group
validates_uniqueness_of :name, :case_sensitive => false
def self.brands(options = {})
self.all({ :conditions => { :group => Group::BRAND } }.merge(options))
end
def self.seasons(options = {})
self.all({ :conditions => { :group => Group::SEASON } }.merge(options))
end
def self.occasions(options = {})
self.all({ :conditions => { :group => Group::OCCASION } }.merge(options))
end
def self.conditions(options = {})
self.all({ :conditions => { :group => Group::CONDITION } }.merge(options))
end
def self.subcategories(options = {})
self.all({ :conditions => { :group => Group::SUBCATEGORY } }.merge(options))
end
def self.non_brands(options = {})
self.all({ :conditions => [ "`group` != ? AND `group` != ?", Tag::Group::SUBCATEGORY, Tag::Group::BRAND] }.merge(options))
end
end
내 목표는에서 반환되는 태그 열, "그룹"별로 그룹화 그룹화 된 다중 선택 상자를 제공하기 위해 Formtastic을 사용하는 것입니다 non_brands 메소드. 나는 시도 다음
= f.input :tags, :required => false, :as => :select, :input_html => { :multiple => true }, :collection => tags, :selected => sel_tags, :group_by => :group, :prompt => false
하지만 다음과 같은 오류가 나타납니다 내가 잘못거야
(undefined method `klass' for nil:NilClass)
어떤 아이디어? 보고에 대한
감사합니다 :]