我正在尝试使用传递给局部的本地时间选择,但是我收到以下错误
undefined method `open_time' for #<Merchant:0x007fb41fd0aa90>
部分通话
= form_for @merchant, :url => admin_merchant_path(@merchant) do |form|
#account-panel.mdl-tabs__panel
= render :partial => 'venue', :locals => {:address_fields => form}
= render :partial => 'hours', :locals => {:hour_fields => form}
渲染部分
.mdl-cell.mdl-cell--12-col
/h3.mdl-typography--display-1.teal-heading= t('.trading_hours_title')
- (0..6).each do |i|
li.mdl-list__item.mdl-list__item--two-line
span.mdl-list__item-primary-content
= Date::DAYNAMES[i]
span.mdl-list__item-sub-title
= hour_fields.time_select :open_time, {:minute_step => 30, :ampm => true}
商家模式
has_many :trading_hours, dependent: :destroy
accepts_nested_attributes_for :trading_hours
交易时间模型
belongs_to :merchant
答案 0 :(得分:1)
你可以这样做(从你提到的代码的最后一行开始):
<%= hour_fields.fields_for :trading_hours do |trading_field| %>
<%= trading_field.time_select :open_time, {:minute_step => 30, :ampm => true} %>
<% end %>
如果您没有任何trading_hours
,则在Merchants控制器操作中构建trading_hour
:
@merchant.trading_hours.build
PS:这是ERB(我只知道这个:))
答案 1 :(得分:0)
您已经提到了accepts_nested_attributes_for:trading_hours 如果您的交易时间模型中有open_time列,则以下代码可能有所帮助:
如果您在应用中使用simple_form
= hour_fields.simple_fields_for :trading_hours do |nest_form|
= nest_form.open_time