Довольно опытный, но самоучка с PHP / MySQL и игрой с Rails.Действительно люблю то, что я сделал с этим, но серьезно борюсь с тем, что, на мой взгляд, должно быть действительно простым;объединяя данные из разных таблиц вместе, а затем отображая их в различных представлениях.Я думаю, что у меня есть концепция Active Record, я просто не могу заставить ее работать так, как мне хочется.
Я работаю над созданием довольно сложной системы каталогизации музыки, как Discogs, с артистом,уровни выпуска, продукта, отслеживания и маркировки и имеют следующие модели:
class Artist < ActiveRecord::Base
has_and_belongs_to_many :releases
end
class Release < ActiveRecord::Base
has_many :products
end
class Product < ActiveRecord::Base
belongs_to :release
has_many :tracks
end
class Tracks < ActiveRecord::Base
has_and_belongs_to_many :products
end
В конце концов, я хочу представить информацию о территориях, продажах и других данных, но пока я не угадаю основы выше, я не могу двигаться вперед.
В моем контроллере продуктов у меня есть:
@product = Product.find(:all, :include => :release)
, который производит:
Processing by ProductsController#index as HTML
Product Load (0.1ms) SELECT "products".* FROM "products"
Release Load (0.2ms) SELECT "releases".* FROM "releases" WHERE "releases"."id" IN (1, 2, 3, 10, 4)
Но я думаю, что это может быть ненужным, если мои ассоциации верны?
Например, в моем представлении продуктов я хочу перечислить продукты с заголовком, извлеченным из таблицы выпусков.Я попробовал следующее, но получил 'NoMethodError' для заголовка:
<% @product.each do |product| %>
<tr>
<td><%= product.title %></td>
<td><%= product.cat_no %></td>
<td><%= product.barcode %></td>
<td></td>
</tr>
<% end %>
Помощь !!
Огромное спасибо заранее.
Райан