2010-11-21 4 views
0

私はWysiwygモジュールを作成しました。ここで、ユーザーはWebサイトのさまざまなセクションにカスタムテキストエリアを作成できます。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はまだ私が編集し、ユーザーをリダイレクトしているにもかかわらず、そのaが「新しい」と考えています。コントローラーを「クリア」して、実際にそれが実際に「編集」であると本当に誠実に信じさせることができますか?

ありがとうございます!

+0

を言っています#updateの代わりに#createに行くルート? – monocle

+0

はい!奇妙なのは、私のparamsが編集中であると言うので、私のサイトは '/ wysiwygs/1/edit'ですが、私がsubmitをクリックすると、それはまっすぐに作成に向かいます。私のフォームは以下のようにインスタンス化されます: '<%form_for(@wysiwyg、:url => admin_wysiwygs_path、:html => {:method =>:post})do | f | %> ' – Trip

答えて

0

ああ私の問題は、私のフォームのインスタンスで

古いと悪だった:

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

正しい:あなたの#editのアクションのためにレンダリングされるフォームがあり

<% form_for @wysiwyg, :url => admin_wysiwyg_path do |f| %> 
関連する問題