Как создать вложенные объекты с помощью accepts_nested_attributes_for

Код, который Вы отправили, похож на него, должен правильно удалить аутентификационный маркер форм, таким образом, возможно, что рассматриваемые папки/страницы на самом деле не защищены.

Вы подтвердили, что к страницам нельзя получить доступ, прежде чем вход в систему произошел?

можно ли отправить web.config настройки и войти ли в систему код, который Вы используете?

22
задан peterjm 30 July 2009 в 20:36
поделиться

3 ответа

Это распространенная проблема циклической зависимости. Существует существующий билет LightHouse , который стоит проверить.

Я ожидаю, что он будет значительно улучшен в Rails 3, но пока вам придется найти обходной путь. Одно из решений - настроить виртуальный атрибут, который вы устанавливаете при вложении, чтобы сделать проверку условной.

class Note < ActiveRecord::Base
  belongs_to :product
  validates_presence_of :product_id, :unless => :nested
  attr_accessor :nested
end

А затем вы должны установить этот атрибут как скрытое поле в вашей форме.

<%= note_form.hidden_field :nested %>

Этого должно быть достаточно, чтобы иметь ] вложенный атрибут устанавливается при создании заметки через вложенную форму. Непроверено.

16
ответ дан 29 November 2019 в 05:29
поделиться

Лучшее решение - использовать плагин parental_control: http://github.com/h-lame/parental_control

0
ответ дан 29 November 2019 в 05:29
поделиться

Раствор Райана на самом деле очень круто. Я пошел и сделал моим контроллером толще, чтобы это гнездо было бы появиться в виду. В основном потому, что мой взгляд иногда JSON, поэтому я хочу быть в состоянии сойти как можно меньше там.

class Product < ActiveRecord::Base
  has_many :notes
  accepts_nested_attributes_for :note
end

class Note < ActiveRecord::Base
  belongs_to :product
  validates_presence_of :product_id  unless :nested
  attr_accessor :nested
end

class ProductController < ApplicationController

def create
    if params[:product][:note_attributes]
       params[:product][:note_attributes].each { |attribute| 
          attribute.merge!({:nested => true})
    }
    end
    # all the regular create stuff here  
end
end
3
ответ дан 29 November 2019 в 05:29
поделиться
Другие вопросы по тегам:

Похожие вопросы: