I have 2 models Product and Categories associated with each other via
a third model Categorization by using a has_many through. I'm trying
to use record_select along with activescaffold to display the
products associated with a category. To do so, I'm using the model as
product (instead of categorizations) for the record_select in the
CategorizationsController.
However, when I choose a product from the record_select and submit the
form, it tries to match the id of the product selected to an id in the
categorizations table, rather than the products table. I know this is
not totally an activescaffold issue, but hopefully some of you might
have found a way to correctly use AS with record_select with has_many
through.
How do I fix this? What parameters should I set on the record_select?
My models and controllers are as listed below.
class CategorizationsController < BaseController
record_select :search_on => 'Product.Name', :model => :product
active_scaffold :categorization do |config|
config.columns.exclude :created_at, :updated_at, :audits
end
end
class CategoriesController < BaseController
active_scaffold :category do |config|
config.columns.exclude :created_at, :updated_at
config.columns = [:name,
:categorizations]
config.columns[:categorizations].form_ui = :record_select
end
end
class Product < ActiveRecord::Base
has_many :categorizations, :dependent => :destroy
has_many :categories, :through => :categorizations
def to_label
"#{name}"
end
end
class Category < ActiveRecord::Base
has_many :categorizations, :dependent => :destroy
has_many :products, :through => :categorizations
def to_label
"#{name}"
end
end
class Categorization < ActiveRecord::Base
belongs_to :product
belongs_to :category
def to_label
"#{product.to_label}-#{category.to_label}"
end
end
--
You received this message because you are subscribed to the Google Groups
"ActiveScaffold : Ruby on Rails plugin" group.
To post to this group, send email to [email protected].
To unsubscribe from this group, send email to
[email protected].
For more options, visit this group at
http://groups.google.com/group/activescaffold?hl=en.