Правильный способ размещения формы для модели соединения? - PullRequest
0 голосов
/ 20 марта 2012

Я пытаюсь вложить форму для моего списка отслеживания продуктов has_many через модель соединения в моем представлении продукта.Как правильно это сделать?Я получаю различные ошибки для моих неудачных попыток.Модели следующие:

class Product < ActiveRecord::Base
  has_many :producttracklistings
  has_many :tracks, :through => :producttracklistings
end

class Track < ActiveRecord::Base
  has_many :producttracklistings
  has_many :products, :through => :producttracklistings
end

class Producttracklisting < ActiveRecord::Base
  belongs_to :product
  belongs_to :track
end

Форма выглядит следующим образом:

<%= form_for(@producttracklisting) do |f| %>
  <%= f.label :track_id %>
  <%= f.text_field :track_id %>
  <%= f.label :product_id %>
  <%= f.text_field :product_id %>
  <%= f.submit %>
<% end %>

И я пытаюсь внести это в продукт / шоу, используя:

 <%= render 'producttracklistings/form' %>

С учетом всего вышесказанного я получаю "неопределенный метод` имя_модели 'для NilClass: Class "

Заранее спасибо.

1 Ответ

3 голосов
/ 20 марта 2012

То, что вы ищете, это accepts_nested_attributes в сочетании с fields_for.Посмотрите этот RailsCast Часть 1 и Часть 2 для подробного учебника.

PS: Я бы предложил назвать вашу модель ProductTrackListing, что приводит к таблицепо имени product_track_listings.Это гораздо более читабельно и "путь рельсов"

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