問題があります。'User' モデルと 'Professional' モデルを取得しました。Professional モデル内では、ユーザーに属することが指定されています。
ただし、ユーザーモデルには記述関係がありません。ユーザーは専門家を持つことができますが (begs_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」と書こうかと思ったのですが、公式ドキュメントを見たら存在しませんでした。
ご協力いただきありがとうございます