принадлежит родительской форме с вложенной формой has_many в Rails 3 - PullRequest
1 голос
/ 09 августа 2011

Сокращенные модели:

class Event < ActiveRecord::Base
  belongs_to :place
  accepts_nested_attributes_for :place  
end

class Place < ActiveRecord::Base
  has_many :events  
end

Сокращенный контроллер событий:

  def new
    @event = Event.new
    @event.build_place

  def create
    @event = Event.new(params[:event])

    respond_to do |format|
      if @event.save

Сокращенное представление:

<%= form_for(@event) do |f| %>
<%= fields_for @event.place do |place_f| %>

Учитывая вышеизложенное ... Я хочу, чтобы пользователь мог создать событие.Когда они создают событие, у них есть возможность добавить место.Место может существовать или не существовать в базе данных.

В данный момент место не связано или не создано при отправке формы, но оно определенно находится в параметрах записи.

Есть мысли очто я делаю не так?Это для Rails 3.

1 Ответ

0 голосов
/ 09 августа 2011

Если вы не хотите, чтобы пользователь заполнял атрибуты места, удалите @event.build_place из вашего действия new в контроллере, как это

def new
  @event = Event.new
end

, и удалите блок <%= fields_for @event.place do |place_f| %> из вашего поля зрения.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...