0

我正在尝试将时间选择与传递给局部的本地人一起使用,但出现以下错误

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
4

2 回答 2

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(我只知道这个:))

于 2016-10-18T08:59:10.603 回答
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
于 2016-10-18T09:03:24.760 回答