2010-11-21 47 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| %>