Showing posts with label Ruby Rails. Show all posts
Showing posts with label Ruby Rails. Show all posts

Saturday, November 29, 2008

Rails conventions

Models (and therefore the underlying classes they create) are capitalized and singular. Each creates a table that is lower-cased and plural.
 ./script/generate scaffold Student name:string
rake db:migrate
Looking at db/schema.rb shows:
ActiveRecord::Schema.define(:version => 20081129213933) do

create_table "students", :force => true do |t|
t.string "name"
t.datetime "created_at"
t.datetime "updated_at"
end

end
The views and controllers are plural: app/views/students and app/controllers/students_controller.rb, but the model is singular: app/models/student.rb. Remember there is a hidden "id" field in each row of each table so don't create your own "student_id" field.

And from http://itsignals.cascadia.com.au/?p=7
Model Naming Convention

Table: orders
Class: Order
File: /app/models/order.rb
Primary Key: id
Foreign Key: customer_id
Link Tables: items_orders

Controller Naming Convention

Class: OrdersController
File: /app/controllers/orders_controller.rb
Layout: /app/layouts/orders.html.erb

View Naming Convention

Helper: /app/helpers/orders_helper.rb
Helper Module: OrdersHelper
Views: /app/views/orders/… (list.html.erb for example)