2012-08-23 1 views
1

내 애플 통화는 Users.Groups와 나는 usersproject 당 한 번 이상 나타나지 않습니다 있는지 확인해야하고 내가 레일 유효성 검사를 할 수 있다고 생각하지만, 제가 가지고하는 것은하지 않는 것 일하고 싶다. 아무도 이것으로 나를 도울 수 있습니까? 관리자에그룹 (컬렉션)의 요소가 Rails의 부모 개체마다 고유하다는 것을 어떻게 검증합니까? <code>Projects</code>와 <code>Courses</code>에 대한

NoMethodError을 :: GroupsController 번호는`텍스트
정의되지 않은 메서드를 만들 '

다음은 나에게 준다? 전무을 위해 : NilClass

class Group < ActiveRecord::Base 
    attr_accessible :name, :project_id 
    #has_and_belongs_to_many fields 
    attr_accessible :user_ids 

    has_and_belongs_to_many :users 
    belongs_to :project, :inverse_of => :groups 

    validates :name, :project_id, :presence => true 
    validates :user_ids, :uniqueness => { :scope => :project_id, 
             :message => "Users can only be in one group per project." } 
end 

ActiveAdmin을 그룹 객체 :

ActiveAdmin.register Group do 

    form do |f| 
    f.inputs do 
     f.input :name 
     f.input :users, :as => :check_boxes 
     f.input :project 
    end 
    f.buttons 
    end 

end 
+0

당신이 당신의 groupscontroller도 넣을 수 있습니다 시도 할 것인가? – uday

+0

저는 실제로 ActiveAdmin, uDaY를 사용하고 있습니다. 그게 저에게 오류를주는 것이지만 내용을 게시 할 것입니다. –

답변

0

나는

Course 
    has_many :projects 

Project 
    has_many :groups 
    has_many :users, :through => groups 
    validates uniqueness_of :user 

User 
    has_many groups 
    has_many projects, :through => :groups 

Group 
    belongs_to :project 
    belongs_to :group 

# I stay away from has_and_belongs_to_many, not flexible later. 
+0

감사합니다. 그러나이 유효성 검사는 프로젝트가 저장되어 있고 그룹 작업으로 인해 유효성 검사가 필요할 때만 발생합니다. –