如何進去網站後就轉到指定的Controller?
嗯.. 關於這點..
呵~cookoo大哥先在這邊謝過拉XD
雖然你忘記要作最後一個動作...
ok...
- edit config/routes.rb
- add map.connect '', :controller => "ctrl_name"
- save it and remove or rename public/index.html
沒錯...
第三點="=
害我昨天測試了老半天阿阿阿阿阿阿阿阿阿!!!!!!!
火車請別撞我
嗯.. 關於這點..
呵~cookoo大哥先在這邊謝過拉XD
雖然你忘記要作最後一個動作...
ok...
在Rails,如果你想要使用自訂的Primary Key Name(主鍵)的話(如果你用Migrate產生,預設就會建立一個叫作id的主鍵)可以使用set_primary_key
set_primary_key好像還要搭配set_table_name使用,不然會出錯!
因為我在作補習班網站的案子時,僅僅加入set_primary_key就出錯,加上set_table_name才正常,因此我想set_primary_key一定要有set_table_name的輔助吧?不過反之我想應該不同!
請在Model裏面編輯
set_table_name “tbl_name”
set_primary_key “pk_name
但是請注意!如果自訂Primary Key的話,在編輯的欄位內請不要讓那個欄位可以編輯!假設我...
set_table_name "people"
set_primary_key "uid"
此時就別讓uid可以編輯,像是出現:
<%= text_field "person", "uid" %>
這樣會產生錯誤!
詳情可以參考:
Agile Web Development with Rails書中第14章第三節的部份,雖然繼續使用uid還是可以的,但是會比較麻煩點!
而該節最後一句話:When you need to set the primary key, use id. At all other times, use the actual column
感謝China on Rails群組中的darren.hoo!
相關討論請看:
Ruby on Rails on Google Groups
Getting Real 是 37signals 最近出版的一本電子書, 內容探討開發 web application 的方法及經營策略. 蠻顛覆一般傳統軟體工程所學的. 聽說已經賣了 6000 多本, 大家當做求取新知看看吧!
大致把書上 Table of Content 放上來, 相信看完後你們會有一些新想法!
軟 體/網站人員應該對這些新看法覺得蠻有趣的, 看到專案市場常常有人在抱怨, 但有一些人已經開始採取另外的作法. 不像現在軟體公司養那麼多人, 都快要進入恐龍級了, 為了獲利只得外包到人工便宜的地方, 不然就是壟斷那塊市場, 或許他們是因為網路公司的背景, 讓他們有如此不同的看法吧! 這些理念及經營手法多少可以從 37signals 及一些新興的 web 2.0 網站看出來
我想大家都知道上網時,電腦會透過DNS要求遠端IP
拿到IP後才可以進行連線
而通常連線到DNS的這段時間其實是可以不需要的
只要自己的主機架設DNS,或者在/etc/hosts上手動設定網域名稱跟IP
就可以加快網路速度!
可是,手動設定網域名稱跟IP不是每個人都會,而且設定繁瑣,更新困難
乾脆就裝個輕便型的DNS吧:P
$ sudo apt-get install dnsmasq
$ sudo vim /etc/dnsmasq.conf
把listen-address=127.0.0.1
弄好後存檔離開
接著設定dhclient.conf
$ sudo vim /etc/dhcp3/dhclient.conf
確定這幾行的樣子是跟以下一樣: #supersede domain-name "fugue.com home.vix.com";
prepend domain-name-servers 127.0.0.1;
request subnet-mask, broadcast-address, time-offset, routers,
domain-name, domain-name-servers, host-name,
netbios-name-servers, netbios-scope;
尤其是prepend domain-name-servers 127.0.0.1;這行,這行如果是註解就請去掉。
存檔離開
打開/etc/resolv.conf吧
在nameserver的第一行加上自己主機
存檔離開後就可以restart dnsmasq
$ sudo /etc/init.d/dnsmasq restart
OK,來試試看是否正常運行
$ dig google.com
看看Query time
第一次可能會超過10
第二次試試看,應該不會超過3 :)
如果你是xDSL使用者,可以參考下面的其他設定
打開/etc/dnsmasq.conf
尋找
#resolv-file=
註解取消,加上
/etc/resolv.dnsmasq.conf
存檔離開後把/etc/resolv.conf複製一份,路徑名稱是:/etc/resolv.dnsmasq.conf
編輯/etc/resolv.conf
確定檔案內只有一行
nameserver 127.0.0.1
存檔離開,修改/etc/ppp/peers/dsl-provider
把usepeerdns給註解掉
OK~ 成功!
呼.. 為了EasyURL,剛剛花了點時間自己搞了個產生亂碼的程式
程式碼在這邊
想看的請用Shift + 左鍵點選(或者右鍵開新視窗;如果是Firefox使用者建議使用”用新分頁開啟”)
class CA
def generate times=1
times = 1 if times <= 0
return (1..times.to_i).to_a.collect{|x| (('a'..'z').to_a+('A'..'Z').to_a+('0'..'9').to_a)[rand(62)]}.join
end
def gen times=1
generate times
end
end
程式碼修正:
心得:被GSR用一行嗆明.. 我真的該檢討>"<
昨晚在逛Railscn時看到AJAX Scaffold
當時在想:”AJAX腳手架?不會吧… ” 看過Rails的scaffold後感覺到真的很恐怖
因此就在想… 該不會真的這麼棒?只要幾個步驟就可以搞定了嗎?
點進去後,發現只要五個步驟就可以搞定… “嘿!挺有趣的說!”
網址是:
我簡單的寫個步驟好了…
1. 當然是先建立一個Rails專案拉!記得要去設定config/database.ymlclass CreateMembers < ActiveRecord::Migration
def self.up
create_ table :members do |t|
t.column :name, :string
t.column :email, :string
t.column :address, :string
end
end
def self.down
drop table :members
end
end好拉!去看看吧!
script/server -p 3000
http://localhost:3000/members
哈哈!
在這邊可以看到範例
哇呼.. 雛形是出來了
版面不能看(!)
大致上是還好
在開發的過程中,沒有遇到太大的問題
而且在這次開發的過程中我又釐清了很多東西
對Rails的操控又更加熟悉了
其實Rails的開發真的很簡單
一個rails project建立好後
修改config
建立Controller
連去Database建立Schema、Tables
建立Model
使用Scaffold
OK~ 基本的東西出來了
接著再修改一些東西
還有rhtml的修改、版面配置
這樣就完成一個Web Application
其實在這整個過程中
寫的程式碼真的不多
我相信比用PHP還要節省更多時間
過幾天再丟到網路上吧...