Как бы я поместил атрибут за пределы fields_for? - PullRequest
0 голосов
/ 04 января 2012

У меня есть 2 модели:

class Store < ActiveRecord::Base
  attr_accessible :prices_attributes, :business_name
  has_many :prices
  accepts_nested_attributes_for :prices
end

class Price < ActiveRecord::Base
  attr_accessible :price, :product_name, :purchase_date
  belongs_to :store
end

Я создаю Магазин и Цены вместе делаю его вложенной формой:

class StoresController < ApplicationController
  def new
    @store = Store.new
    3.times {@store.prices.build }
  end
end

Вложенной формы:

<%= form_for @store do |f| %>

  <%= f.text_field :business_name %>

  <%= date_select("price", "purchase_date")  %>

  <%= f.fields_for :prices do |up| %>
    <%= up.text_field :product_name %>
    <%= up.text_field :price %>
  <% end %>
<% end %>

Я хочу разместить purchase_date вне моего f.fields_for, чтобы пользователи могли выбрать только один date_select для всех сделанных цен.Это не работает, хотя.purchase_date не отображается в форме.Как я могу получить это сделать?

1 Ответ

1 голос
/ 04 января 2012

Если дочерние формы отображают купленные_даты и приобретенные входные данные - и вы хотите установить значения этих входных данных на основе входных значений в родительской форме - вам придется написать это на стороне клиента (javascript /jquery), поэтому значения детей устанавливаются в ответ на событие изменения родительского ввода (или аналогичное).

Если дочерние формы не отображают эти входные данные, вам придется установить дочерние атрибуты на стороне сервера (модель или контроллер) на основе атрибутов родителя (если вы решите добавить их в родительский) илис помощью параметров, отправленных по запросу.

...