Форма Formtastic выдает ошибку «неопределенный метод» с ассоциацией has_one - PullRequest
3 голосов
/ 05 ноября 2011

Я использую Rails 3.1 и Ruby 1.9.2 вместе с Active Admin для создания CMS. Вот мои модели места и изображения:

class Place < ActiveRecord::Base
  has_one :image    
  accepts_nested_attributes_for :image
end

class Image < ActiveRecord::Base
  belongs_to :place 
end

Вот форма Formtastic, которую я отображаю в своем "новом" действии в контроллере Places:

<%= semantic_form_for [:admin, @place] do |p| %>
  <%= p.inputs "Details" do %>
    <%= p.input :name %>
    <%= p.input :description %>
    <%= p.input :phone %>
    <%= p.input :address %>
    <%= p.input :image %>
  <% end %>
  <%= p.buttons %>
<% end %>

Когда я загружаю форму в браузере, я вижу следующую ошибку:

undefined method `place_id' for #<Place:0xb801744>

Вот кикер: в моей модели Place, если я изменю has_one :image на has_many :images и accepts_nested_attributes_for :image на accepts_nested_attributes_for :images, а в моей форме я изменю p.input :image на p.input :images, то ошибка исчезнет и Formtastic правильно отображает многоэлементный входной элемент, содержащий все доступные графические объекты. Итак, почему я получаю эту ошибку, когда я использую has_one связь вместо того, чтобы видеть элемент ввода select?

1 Ответ

2 голосов
/ 09 ноября 2011

Согласно https://github.com/gregbell/active_admin/issues/575 это ошибка между formtastic и активным администратором - я предлагаю вам следить за проблемой на github, а также объяснить им свой сценарий, это может вызвать исправление, если более одного члена сообщества сообщатвопрос.

...