我正在尝试在Rails 4中创建一个应用程序。
我有一个地址模型,其中包含一个名为:time_zone。
的属性地址模型是多态的。地址可以属于组织或配置文件。
我所有这些工作都在我的配置文件地址工作(与我现在试图通过组织地址实现的类似)。
我正在使用cocoon gem来嵌套属性。
我有一个组织模型和一个地址模型。协会是:
Organisation.rb
has_many :addresses, as: :addressable
accepts_nested_attributes_for :addresses, reject_if: :all_blank, allow_destroy: true
Address.rb
belongs_to :addressable, :polymorphic => true
我的地址视图文件夹中有一个address_fields表单,其中包括:
<%= f.input :time_zone %>
我有一个组织表格,其中包含:
<%= f.simple_fields_for :addresses do |f| %>
<%= render 'addresses/address_fields', f: f %>
<% end %>
</div>
<div class="row">
<div class="col-md-6">
<%= link_to_add_association 'Add an address', f, :addresses, partial: 'addresses/address_fields' %>
在我的组织视图文件中,我有:
<% if @organisation.addresses.any? %>
<%= Time.now.in_time_zone(@organisation.addresses.first.time_zone).try(:strftime, '%l.%M %P %Z') %>
当我保存表单并尝试在组织显示页面中呈现time_zone时,我收到一个错误:
时区无效:
错误突出显示了此行的视图代码:
Time.now.in_time_zone(@organisation.addresses.first.time_zone).try(:strftime, '%l.%M %P %Z') %>
谁能看到我做错了什么?