2010-11-21 60 views
0

我製作了一個Wysiwyg模塊,用戶可以爲其網站的不同部分創建自定義文本區域。清除Rails中的控制器2

我這樣做是通過檢查控制器是否爲這個特定的部分創建了一個。如果他們有,它重定向他們:

def new 
    if Wysiwyg.find_by_name(params[:name]) != nil 
    redirect_to edit_admin_wysiwyg_path(Wysiwyg.find_by_name(params[:name])) 
    else 
    @wysiwyg = Wysiwyg.new(:name => params[:name]) 
    end 
end 

麻煩的是是的Rails仍然認爲它是一個「新」,即使我已經重定向用戶編輯。我怎樣才能'清除'控制器,並真正相信它實際上是一個'編輯'?

謝謝!

+0

你說的是被渲染爲您#edit行動的形式有去#create而不是#update的路線? – monocle 2010-11-21 18:19:52

+0

是的!奇怪的是,因爲我的參數在編輯時表示,我的網站是'/ wysiwygs/1/edit',但是當我點擊提交時,它會直接進行創建。我的表單實例化爲:<%form_for(@wysiwyg,:url => admin_wysiwygs_path,:html => {:method =>:post})do | f | %>' – Trip 2010-11-21 18:23:21

回答

0

啊我的問題是在我的形式實例

老和危機:

<% form_for(@wysiwyg, :url => admin_wysiwygs_path, :html => { :method => :post}) do |f| %> 

正確:

<% form_for @wysiwyg, :url => admin_wysiwyg_path do |f| %>