我很新的Rails3中,我基本上創造了一個subscribers
腳手架,我只希望我的應用程序,以new
和create
行動作出迴應。在Rails3中覆蓋到/(root)的資源路徑:不更改路徑助手?
所以在config/routes.rb
我定義:
resources :subscribers, :only => [:new, :create]
哪那麼在這裏以這種方式工作
GET /subscribers => subscribers#new POST /subscribers => subscribers#create
現在,我想我的應用程序在/
(根)表現,而不是/subscribers
的用戶資源,是我做了什麼:
match '/' => "subscribers#new" match '/' => "subscribers#create" match '/' => "subscribers#thankyou" resources :subscribers, :only => [:new, :create]
這在某種程度上有效,但可能不是DRYest的事情:這裏是我的問題:
- 當在創建瀏覽器有問題後要回窗體顯示
/subscribers
網址,而不是僅僅/
,形式使用form_for(@subscriber)
helper方法,所以path
助手必須由路線 - 莫名其妙不受影響理想我甚至不希望應用程序來響應請求的
/subscribers
- 我注意到一個奇怪的錯誤,張貼在創建在斷開連接的情況下(從
/
開始,然後在連接時進行刷新n回來了(瀏覽器要求重新提交=>確定),Rails應用程序崩潰了(我沒有錯誤堆棧,雖然這是在生產中),爲什麼?
而且,我試圖建立的路線是這樣的:
resources :subscribers, :only => [:new, :create] do collection do post '/' => :create get '/' => :new end end
這可能是乾燥的,但它並沒有解決所有這些問題。
我相信這是一件很簡單,請大家幫忙!
你戰鬥慣例,它總是會是一場艱苦的戰鬥。我會質疑不希望你的應用程序響應/訂戶和使用/爲2或3個不同的行動的原因。你應該重新考慮你的架構。 – 2010-09-28 00:46:44
嘿bjeanes,我不想與公約打交道,它是即將到來的網站的郵件列表,所以幾乎是唯一的事情,我認爲有一個簡單的方法可以將資源放在/? – 2010-09-28 21:40:27