我很抱歉我的英語不好。 幾個小時前我剛剛安裝了ruby和rails(你不會相信我花了3天的時間在這臺ubuntu 10.04機器上安裝ruby,rvm,rails等),我試圖實現基本的成員腳手架。我的rails版本是3.0.0,我的ruby是1.9.2。MemberController中的ActiveRecord :: RecordNotFound#show
當我#rails generate scaffold Member email:string password:string
它創建了各種文件。我也做了#rake db:migrate
在mysql中實現數據庫。 因此,在成員控制器中,我看到我必須通過127.0.0.1:3000/members/才能進入基本的腳手架設置。
我只是改變
def new
@member = Member.new
respond_to do |format|
format.html # new.html.erb
format.xml { render :xml => @member }
end
end
以上成員控制器語句轉換爲
def register
@member = Member.new
respond_to do |format|
format.html # new.html.erb
format.xml { render :xml => @member }
end
end
你看到的,我剛換了新到寄存器,而現在,當我試圖進入 127.0。 0.1:3000 /會員/註冊 ActiveRecord::RecordNotFound
錯誤出現。 我該如何解決這個問題? 我只想讓 127.0.0.1:3000/members/register 是一個網頁,用戶可以註冊..
順便說一句,這個回報率似乎是非常複雜的,和API文檔似乎過於寬泛被初學者理解。我上週下令RoR的書,所以我會看看怎麼回事......
你的意思只是把 - > map.connect'/ members/register',:controller =>'members',:action =>'register'< - 在route.rb文件中?我這樣做了,但我得到了一個未定義的局部變量或方法'映射'爲#(NameError) –
pavlo
2010-10-12 08:00:26
您需要將上面的行放在類似ActionController :: Routing :: Routes .draw do | map | map.connect'/ members/register',:controller =>'members',:action =>'register'end – Anubhaw 2010-10-12 08:13:27
我不確定這是否適用於rails 3.路由已經發生了相當大的變化。 – Shadwell 2010-10-12 08:33:07