-1

アイテムを関連付けに関連付けるにはどうすればよいですか。ここに例とここにモデル

-Customer
-Phone
-PhoneType

Customer          Phone             PhoneType
Id                Id                Id
First             Number            Description
Last              Phone_Type_Id
Email             isViewed
Password
...

彼が従った関係

Customer
  has_many phone
  accepts_nested_attributes_for :phone, allow_destroy: :true
Phone
  belongs_to :customer
  has_one :phone_type
  accepts_nested_attributes_for :phone, allow_destroy: :true
PhoneType
  belongs_to :phone

私のフォームビューがCustomer#editビューでどのように機能するかは、他のフィールドで構成される一般的なフォームをレンダリングし、その中に次のコードがあります。

<%= f.fields_for :phones do |b| %>
<fieldset>
    <%= b.label :number %>
    <%= b.select :PhoneType %>  ## issues is here
    <%= b.label :isViewed %>
</fieldset>
<% end %>

前もって感謝します!

4

1 に答える 1

0

試す

:phone_type 

フォームでキャメルケース (PhoneType) を使用する代わりに。電話モデルの関連付けでは、:phone_type というフィールドが必要になるため、大文字と小文字を修正する必要があります。

また、現在の方法でビューにレンダリングされているものは何ですか? エラーが発生していますか?

ドロップダウンから説明を選択して、電話の種類を選択するオプションをユーザーに提供しますか? あなたは次のようなものを試すかもしれません

<%= select(:phone_type, :phone_type_id, PhoneType.all, :id, :description) %>

最後に、単純なフォームの宝石を見てみたいと思うかもしれません.... https://github.com/plataformatec/simple_form/

于 2012-08-10T15:09:08.193 に答える