Ruby on rails 清除Rails 2中的控制器

Ruby on rails 清除Rails 2中的控制器,ruby-on-rails,controller,Ruby On Rails,Controller,我制作了一个所见即所得模块,用户可以在其中为其网站的不同部分创建自定义文本区域 我通过检查控制器是否已经为这个特定部分创建了一个控制器来实现这一点。如果他们有,它会重定向他们: def new if Wysiwyg.find_by_name(params[:name]) != nil redirect_to edit_admin_wysiwyg_path(Wysiwyg.find_by_name(params[:name])) else @wysiwyg = Wysiwy

我制作了一个所见即所得模块,用户可以在其中为其网站的不同部分创建自定义文本区域

我通过检查控制器是否已经为这个特定部分创建了一个控制器来实现这一点。如果他们有,它会重定向他们:

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仍然相信这是一个“新的”,即使我已经将用户重定向到编辑。我如何才能“清除”控制器,使其真正相信它实际上是一个“编辑”


谢谢

啊,我的问题在于我的表单实例化

古老而邪恶:

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

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

您是说为“编辑”操作呈现的表单有一个路径是“创建”而不是“更新”?是的!奇怪的是,因为我的参数说它在编辑中,我的站点是
/wysiwygs/1/edit
,但当我单击submit时,它会直接进入创建。我的表单实例化为:
admin_wysiwygs_path,:html=>{:method=>:post})do | f |%>