0

重定向如何在 Rails 中工作?我觉得这非常违反直觉和令人沮丧。

我在下面添加了视图文件/views/mymodels/custom.html.erb

我有空控制器方法:

def custom

end

我在 routes.rb 中有以下内容:

  resources :mymodel do
    member do
      get 'custom'
    end
  end

在我的控制器中,我尝试在通过以下方式创建模型时呈现自定义视图:

respond_to do |format|
  if @presentation.save
    redirect_to action: "custom"
    #format.html { redirect_to @mymodel, notice: 'Presentation was successfully created.'}
    #format.json { render json: @mymodel, status: :created, location: @mymodel }

这会导致重定向呈现空白页面。但是浏览/mymodels/[id]/custom工作正常。我究竟做错了什么?为什么也render :action => "custom"不起作用?

编辑:

这有效:format.html { render action: "upload" }但为什么呢?

4

1 回答 1

2

你为什么评论format.html {...}条款?用它:

代替:

  if @presentation.save
    redirect_to action: "custom"
    #format.html { redirect_to @mymodel, notice: 'Presentation was successfully created.'}

写这个:

  if @presentation.save
    format.html { redirect_to action: "custom" }
于 2012-04-22T10:53:53.550 回答