Я знаю, что мой титул был скороговоркой, поэтому я сделаю все возможное, чтобы объяснить, что происходит.
Во-первых, у меня есть модель. Давайте называть это сообщениями.
Тогда у меня есть вторая модель, которая, по сути, является таблицей соединений, связывающей два разных сообщения вместе. Мы можем назвать это сообщение соединениями.
Я выполнил это, выполнив следующие инструкции: Отношение «многие ко многим» с той же моделью в рельсах? для однонаправленного с дополнительными полями.
Код для этих моделей выглядит так:
class PostConnection < ActiveRecord::Base
belongs_to :post_a, :class_name => :Post
belongs_to :post_b, :class_name => :Post
end
class Post < ActiveRecord::Base
has_many(:post_connections, :foreign_key => :post_a_id, :dependent => :destroy)
has_many(:reverse_post_connections, :class_name => :PostConnection,
:foreign_key => :post_b_id, :dependent => :destroy)
has_many :posts, :through => :post_connections, :source => :post_b
accepts_nested_attributes_for :post_connections
end
Пока все отлично работает - и когда я создаю почтовые соединения вручную с помощью rails admin, они работают просто замечательно.
Теперь проблема в том, что я хотел бы создать форму, в которой есть пост-соединения, вложенные в посты.
Я пытался следить за ролями:
http://railscasts.com/episodes/73-complex-forms-part-1
Но даже первые несколько шагов не сработали. Я не получил ошибку. Ничего не обнаружилось там, где должны были быть поля. (Мне интересно, связано ли это с:
3.times { @post.post_connections.build }
)
Есть ли более сложный способ, которым я должен идти об этом на основе моделей?