Rails Migration Question

Can anyone help me in this:

Given the following database migration:

class DefineDatabase < ActiveRecord::Migration

  def self.up
    create_table "products" do |t|
      t.column "name", :string
      t.column "price_converted", :integer  # NOTE: we shouldn't

store monetary values as floats to avoid rounding errors
end

    create_table "categories" do |t|
      t.column "name", :string
    end

    create_table "categories_products" do |t|
      t.column "product_id", :integer, :null=>false
      t.column "category_id", :integer, :null=>false
      t.column "display_order", :integer, :default=>0, :null=>false
    end
  end

  def self.down
    drop_table "products"
    drop_table "categories"
    drop_table "categories_products"
  end

end

I need to implement model classes named Category and Product so that the
following code example generates the expected output:

cat1 = Category.new(:name=>'Books')
cat1.save
p1 = cat1.products.create(:name=>'My first book', :price=>10.99 )
puts p1.price_converted # should be the price in cents, that is x

100 and rounded up to next whole number
>> 1099
p2 = cat1.products.create(:name=>‘My second book’, :price=>20.95 )
puts p2.price_converted
>> 2095

cat1.set_display_order(p1, 1) # this should set the 'display_order'

column associated with the product p1 to 1

prod_array = cat1.products.find(:all, :order=>'display_order,

price’)
puts prod_array[0].name
>> My second book
puts prod_array[1].name
>> My first book

instead of just looking for someone that is willing to implement your
models and methods, why don’t you just give it a try first and ask if
you encounter any problems?

start by defining the relations between models (has_many,
belongs_to, …). add callbacks (after_save :convert_price) and
methods (def convert_price). all along write some tests to see if your
code is working correctly.

if you’re stuck somewhere, come back and ask for help.

This forum is not affiliated to the Ruby language, Ruby on Rails framework, nor any Ruby applications discussed here.

| Privacy Policy | Terms of Service | Remote Ruby Jobs