Ошибка членства в группе, из-за которой я выдернул волосы - PullRequest
0 голосов
/ 09 апреля 2011

Я получаю эту ошибку:

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, может ли это быть причиной ошибки?

Ответы [ 2 ]

1 голос
/ 10 апреля 2011

Боже мой.Я только что проверил журналы git.Очевидно, git решил не добавлять файл модели членства в репозиторий по какой-то причине, несмотря на то, что я выполняю git commit -a -m "бла".Я думал, что флаг -a все добавил?

0 голосов
/ 09 апреля 2011

Я не вижу ошибки в вставленном вами коде, но, судя по полученному вами коду ошибки, у вас должно быть постоянное значение, к которому нет доступа. Есть ли в вашем коде какой-либо вызов Group.Membership? (может быть, модуль?) Может быть, вы хотели написать group.membership или что-то в этом роде. Я действительно не могу ничего найти: /

РЕДАКТИРОВАТЬ:

Кстати, я вижу что-то, что также должно вызывать проблемы:

@group_admin = User.find(@group.group_admin)

group.admin - это имя, которое я вижу в ваших проверках, а вы ищете идентификатор. Здесь должен быть find_by_group_admin.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...