2014年3月29日 星期六

Rails Tutorial - @user ? 實體變數(實例變量)

在Ruby中以@開頭的為實例變量,
@user就是一個實例變量,
它特殊的地方在於它能直接用於view中,
也常用於在同一類別中的不同方法間傳遞值。

舉個例子說明:
當我們使用User.new這個方法時,
會調用:


def initialize(attributes = {})  
    @name = attributes[:name]  
    @email = attributes[:email] 
end
    
而attributes是一個空的hash(雜湊),
為@name和@email這兩個實例變數設定值,
所以在同一類別中的其他方法也能直接調用這兩個實例變數,
像是formatted_email這個方法:


def formatted_email  
    "#{@name} <#{@email}>"
end 

2014年3月26日 星期三

Rails Tutorial - Migration

在學習rails的路上,
前面的ruby語法和coffee script入門的問題都不大,
雖然rails會幫我們處理好很多資料庫的問題。
不過我還是很常對 rake db:migrate這個指令質疑?
到底migrate是在遷移什麼?
什麼是migration?

這篇先留著以後再慢慢讀:
http://guides.ruby.tw/rails3/migrations.html

2014年3月23日 星期日

Rails Tutorial -ch6 User v.s Users

model模型是User。
controllers是Users。

Rails Tutorial -ch5 產生Users-controller

記得使用 “rails generate Users new”,

記憶邏輯:

因為到時候的User不只一個,

所以Controller的命名自然是複數。

2014年3月22日 星期六

Rails Tutorial -Ch5- stylesheet_link_tag

原來有人跟我遇到一樣的問題,
是sprockets的版本更新之後會遇到的bug,
只要把它鎖定在 gem 'sprockets', '2.11.0'
(原本是2.12.0)