【发布时间】:2013-01-16 17:26:34
【问题描述】:
我有一个问题,我有一个“用户”模型和一个“专业”模型。 在 Professional 模型中,指定它属于一个用户。
但是,用户模型中没有书面关系。应该是这样并没有错,一个用户可以有一个专业的(感谢belongs_to),但并非总是如此。
问题是:我不能执行“User.find(49).professional”来测试用户 n°49 是否是专业人士(它应该返回一个布尔值)。
但是我可以执行“Professional.find(65).user”,如果专业 n°65 是用户,则返回 true,否则返回 false。
在某些用户视图中,我有这个不起作用的原因:
- if @user.professional?
div class="page-header"
h1 Professional info
ul style="list-style: none"
// Id
li
strong
= model_class.human_attribute_name(:id)
' :
= @user.professional.id
// Country
li
strong
= model_class.human_attribute_name(:country)
' :
= @user.professional.country
[...]
我有一个很宽的“li”列表。 因此,if 条件不起作用,@user.professional.someprofessionalattributes 也不起作用。
我最初的想法是应该在User模型中写“has_none_or_one”,但是我看官方文档时是不存在的。
感谢您的帮助
【问题讨论】:
标签: ruby-on-rails model associations slim-lang