我有2个表用户和成员,那里有关系 在用户
has_one:member,:class_name => “用户::会员” 会员 belongs_to:user
我正在尝试使用控制台插入数据,而我正在使用此代码
u = User.create(
:group => UserGroup.find_by_slug(:members),
:first_name => 'abc',
:last_name => 'fgh',
:company_name => 'xyz',
:email => 'test@test.com',
:password => '123456',
:password_confirmation => '123456'
)
m = User::Member.create(
:user => u,
:pricing_plan => PricingPlan.order('RANDOM()').first,
:state => UserState.order('RANDOM()').first,
:industry => Industry.order('RANDOM()').first,
:fy_start_month => 7
)
抛出此错误
语法错误,意外的tIDENTIFIER,期待$ end )m = User :: Member.create(
我想知道我的语法有什么问题。提前谢谢
答案 0 :(得分:2)
这可能是由于一个不可见的字符(不是空格)。您的语法似乎没问题,但如果您的编辑器允许您显示不可见(例如,在textmate中,请转到查看&gt;显示隐形,尝试这样做。有时我会插入隐形而不是空格。< / p>
给你一个我正在谈论的印象:
这是隐藏的隐藏
这是显示的隐形。您在正常模式下看不到的不可见含片会导致语法错误:
答案 1 :(得分:0)
我假设user_id
是与foreign key
表关联的users
。
如果是这样,请使用以下
m= Member.create(
:user_id => u.id,
:pricing_plan => PricingPlan.order('RANDOM()').first,
:state => UserState.order('RANDOM()').first,
:industry => Industry.order('RANDOM()').first,
:fy_start_month => 7
)
答案 2 :(得分:0)
试试这个
在您的用户模型中
has_one :member
attr_accessible :member_attributes
accepts_nested_attributes_for :member
在您的会员模型中
belongs_to :user
然后在您的控制台和表单中尝试
user = User.create(
:group => UserGroup.find_by_slug(:members),
:first_name => 'abc',
:last_name => 'fgh',
:company_name => 'xyz',
:email => 'test@test.com',
:password => '123456',
:password_confirmation => '123456'
)
和
user.build_member(
:pricing_plan => PricingPlan.order('RANDOM()').first,
:state => UserState.order('RANDOM()').first,
:industry => Industry.order('RANDOM()').first,
:fy_start_month => 7
)
或
member = Member.create(
:user_id => user.id,
:pricing_plan => PricingPlan.order('RANDOM()').first,
:state => UserState.order('RANDOM()').first,
:industry => Industry.order('RANDOM()').first,
:fy_start_month => 7
)