이 문제가 발생했습니다. 다른 오류가 발생할 때마다 을 시도했지만 많은 오류가있었습니다.mongoid를 사용하여 Doc로 개체를 푸시했을 때 NoMethodError
환경 :
@user = User.where(:email => params[:user][:email])
if @user.count > 0
@user.companies.push(@company)
@user.save
@company.users.push(@user)
@company.save
else
@user = User.create(:name => params[:user][:name],
:email => params[:user][:email],
:password => "123456")
@user.companies.push(@company)
@user.save
@company.users.push(@user)
@company.save
end
: 내 UserController 방법에
레일 3.0.5
Mongoid 2.0.1
class User
include Mongoid::Document
field :name
has_and_belongs_to_many :companies
end
class Company
include Mongoid::Document
field :name
has_and_belongs_to_many :users
end
나는 이런 식으로 뭔가를 수행 만들기 사용자가 존재하지 않을 때 훌륭한 작품.
그러나 사용자가 이미 DB에있는 경우 오류가 발생합니다.
NoMethodError in UserController#create
undefined method `companies' for #<Array:0x10679f638>
결국 개체를 문서로 푸시합니다.
내가 누락 된 부분을 모르겠다.
누군가가이 문제를 해결하는 방법을 알고 있다면 ... 좋을 것입니다.
미리 감사드립니다.
'User.where'는'@ user'에 할당 된 배열을 반환합니다. –