Hi,
I'm a Java and ColdFusion developer trying to find my feet with JRuby and Rails.
I've created a very simple "Auction" app, with a database schema like this:
create_table "auction_items", :force => true do |t| t.string "description" t.string "title" t.datetime "start_date" t.datetime "end_date" t.datetime "created_at" t.datetime "updated_at" end
create_table "bids", :force => true do |t| t.integer "auction_item_id" t.decimal "amount", :precision => 15, :scale => 2 t.datetime "bid_time" t.datetime "created_at" t.datetime "updated_at" end
There are two classes in my model:
auction_item.rb:
class AuctionItem < ActiveRecord::Base has_many :bids end
bid.rb:
class Bid < ActiveRecord::Base belongs_to :auction_item end
Initially, I had bid.rb like this:
class Bid < ActiveRecord::Base belongs_to :AuctionItem end
(ie. using the camel-cased class name, as per the definintion in the class rather than the underscored one), but it didn't work until I changed it to use the undscored one.
What is the rule here? Does the name in the "belongs_to" refer to the table name or something?
Similarly, I'm a bit confused why I have to go to
http://localhost:8080/auction_items (not http://localhost:8080/AuctionItems).
Can anyone explain the general rules to me, or point me to somewhere that does please?
Many thanks, Andrew.