从方法控制器重定向到特定视图

时间:2011-09-22 18:32:29

标签: ruby-on-rails redirect view controller

我有一个名为“products_controllers.rb”的控制器,它有这个方法:

def create
  ...
  ...
  respond_to do |format|
    if @product.save
     ???????
    else
      format.html { render :action => "new" }
      format.xml  { render :xml => @product.errors, :status => :unprocessable_entity }
    end
end

每当产品保存时,我想将其重定向到名为“供应商”的特定视图,该视图属于产品视图,我该怎么做? 提前谢谢!

3 个答案:

答案 0 :(得分:1)

如果您使用的是宁静的路线,并且产品与许多供应商存在关系,您可以使用:

format.html { redirect_to product_suppliers_url(@product) }

在您的routes.rb中使用类似的内容:

map.resource :products do |product|
  product.resource :suppliers
end

或者您也可以使用它:

format.html { redirect_to :action => 'suppliers', :id => @product.id }

答案 1 :(得分:0)

喜欢的东西 redirect_to 'product/suppliers'

来源: http://guides.rubyonrails.org/layouts_and_rendering.html#using-redirect_to

注释:下一次确保在问题文本中指定“in rails”,因为许多框架都使用视图和控制器。

答案 2 :(得分:0)

在您的控制器中:

def create
  ...
  ...
  respond_to do |format|
    if @product.save
     ???????
    else
      format.html { render :action => "suppliers" }
      format.xml  { render :xml => @product.errors, :status => :unprocessable_entity }
    end
end

def suppliers
  #Your suppliers code goes here
end

在routes.rb

resources :venues do
  member do
    get 'suppliers'
  end
end