Hello,
I''m integrating a rails application redesign with a legacy schema that
requires the use of mixed character data as the primary key. I''m
trying
to setup my categories model to associate products which are related by
a has_and_belongs_to_many association.
The code below is what I''m using to do this. It works fine, except that
when it inserts a product_id into the categories_products join table, it
does so (so I know all that is set up properly) but with single quotes
around it like this: ''724359778709'' when the key''s
proper varchar value
is 724359778709. Thus the association is not recognized after the
insert because the product_id value in products_categories does not
equal the real product ID. When I manually insert values into the join
table, they are recognized and work fine.
def add_product
category = Category.find(params[:id])
new_product = Product.find(params[:input][:product_id])
if new_product
flash[:notice] = params[:input][:product_id] + " added"
category.products << new_product
end
redirect_to :action => ''edit'', :id =>
params[:id]
end
The above code generates the following SQL:
INSERT INTO categories_products (`product_id`, `category_id`) VALUES
(''\''724359778709\'''', ''1'')
Can anyone tell me what to do so that it does not place those escaped
single quotes in the INSERT... I''ve checked and all my MySQL fields
match (i.e. they are all varchars of the proper length).
Thanks,
A. Engler