Rails以嵌套形式选择与模型的关联

时间:2012-08-10 14:58:52

标签: ruby-on-rails ruby ruby-on-rails-3 ruby-on-rails-3.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

我的表单视图的工作方式已经跟进 客户#编辑视图   我渲染一个由其他字段组成的一般表单,在其中我有以下代码

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

提前致谢!

1 个答案:

答案 0 :(得分:0)

尝试

:phone_type 

而不是在表单中使用camelcase(PhoneType)。您在手机型号中的关联需要一个名为:phone_type的字段,因此您需要修复案例。

此外,您现在的观点在您的观看中呈现了什么?你有任何错误吗?

您想要通过从下拉列表中选择说明,为用户提供选择手机类型的选项吗?您可以尝试类似

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

最后,您可能想看一下简单的表单gem .... https://github.com/plataformatec/simple_form/