Я получаю эту ошибку:
2011-04-09T18: 13: 17 + 00: 00 app [web.1]: NameError (неинициализированная константа Group :: Membership): 2011-04-09T18: 13: 17 + 00: 00 app [web.1]: app / controllers / groups_controller.rb: 25: в `show_members '
Когда я пытаюсь использовать метод Show_members в контроллере групп.Что я сделал не так?
user.rb
class User < ActiveRecord::Base
require 'paperclip'
# Include default devise modules. Others available are:
# :token_authenticatable, :confirmable, :lockable and :timeoutable
devise :database_authenticatable, :registerable, :confirmable,
:recoverable, :rememberable, :trackable, :validatable
has_and_belongs_to_many :roles
has_many :articles
has_many :ratings
has_many :rated_articles, :through => :ratings, :source => :articles
has_many :memberships, :dependent => :destroy
has_many :groups, :through => :memberships
...
members.rb
class Membership < ActiveRecord::Base
attr_accessible :user_id, :group_id
belongs_to :user
belongs_to :group
validates_uniqueness_of :user_id, :message => "You can only join one group!"
end
group.rb
class Group < ActiveRecord::Base
require 'paperclip'
attr_accessible :name, :group_admin, :about, :location, :created_at, :avatar
validates_uniqueness_of :name, :group_admin
validates_length_of :name, :in => 4..40
has_many :memberships, :dependent => :destroy
has_many :users, :through => :memberships
end
group_controller
def show_members # members page
@group = Group.find(params[:id])
@members = @group.users <= THIS LINE IS THE ERROR
@group_admin = User.find(@group.group_admin)
respond_to do |format|
format.html
format.xml { render :xml => @group }
end
end
Обновление
def remove_user
@membership = Membership.find(params[:user_id, :group_id])
@membership.destroy
authorize! :remove_user, @membership
respond_to do |format|
format.html { redirect_to(:back, :notice => 'User was successfully Removed.') }
format.xml { head :ok }
end
У меня есть это действие в groups_controller, связанном с show_members.html.erb, может ли это быть причиной ошибки?