0
В настоящее время я работаю над проектом с монгоидами и рельсами. Вот код:@ не разрешено в качестве имени переменной экземпляра
class Account
include Mongoid::Document
include Mongoid::Timestamps
field :account_name, type: String
has_many :groups
end
class Group
include Mongoid::Document
field :group_name, type: String
belongs_to :account
has_and_belongs_to_many :groups
end
class GroupsController < ApplicationController
before_filter :require_login, :find_company
def new
@group = @company.groups.new
end
def create
@group = @company.groups.new params[:group]
if @group.save
redirect_to people_path
else
render :new
end
end
private
def find_company
@company = current_account.groups.find(params[:company_id]) if params[:company_id]
end
end
И ошибка, которая возвращается в:
@' is not allowed as an instance variable name (NameError)
./app/controllers/groups_controller.rb:5:in `new'
Я не могу найти много вокруг прибегая к помощи этого вопроса, но казалось бы, вопрос лежит отношения has_and_belongs_to_many, но я не уверен.
Любые идеи будут оценены.
Благодаря
Я думаю, что ошибка также будет, если 'params [: company_id]' возвращает nil, то вы вызываете 'groups.new' на объект' nil'. – Zippie
Какая версия Ruby вы используете? 'ruby -v' –
один раз вы можете попробовать это? '@group = @ company.groups.build' в' new'. –