我有User,Guide和CityObj模型。用户有一个指南,指南属于用户。这允许我使用方法从子进程访问父进程,反之亦然:
a_user.guide
a_guide.user
但是CityObj没有这些方法:
a_guide.cityobj ----> error
a_cityobj.guide ----> error
也许这与骆驼案有关?我似乎正在为User / Guide and Guide / CityObj做同样的事情。
User.rb
class User < ActiveRecord::Base
has_one :guide, dependent: :destroy
...
end
Guide.rb
class Guide < ActiveRecord::Base
has_one :cityObj, dependent: :destroy
belongs_to :user
...
end
CityObj.rb
class CityObj < ActiveRecord::Base
belongs_to :guide
end
答案 0 :(得分:1)
按照惯例,你应该使用 蛇案
a_guide.cityobj
a_cityobj.guide
应该是
a_guide.city_obj
a_city_obj.guide
另外,请将guide.rb
模式中的关联更改为以下。
#guide.rb
has_one :city_obj, dependent: :destroy
答案 1 :(得分:0)
正如@Pavan所说,惯例应该是蛇案例,包括文件名和关联定义(以及一般方法)
另外:
class Guide < ActiveRecord::Base
has_one :city_obj, dependent: :destroy
belongs_to :user
# ...
end
这将“生成”关联方法,如:build_city_obj
等......