Rails:在非RESTful操作之后使用RESTful控制器模板response_

时间:2012-02-26 18:21:42

标签: ruby-on-rails ruby-on-rails-3 respond-to respond-with

尝试将“发布”操作添加到其他RESTful控制器时,“模板丢失 - 缺少模板选票/提交”错误。显然,它正在寻找一个submission.html.haml视图,它不存在(也不应该存在)。

class BallotsController < ApplicationController
  respond_to :html

  def index
  ...

  def publish
    @ballot = Ballot.find(params[:id])
    if @ballot.publishable?
      @ballot.submitted = true
      flash[:notice] = "Ballot successfully submitted" if @ballot.save
    else
      flash[:error] = "Could not submit. Ballot incomplete."
    end 
    respond_with(@ballot, location: ballot_url(@ballot))
  end
end

在这两种情况下,我想回答此控制器中的“show”操作。但不确定应该是什么语法。

1 个答案:

答案 0 :(得分:2)

我认为你可以在那里redirect_to指定路径:

respond_with(@ballot) do |format|
  format.html { redirect_to ballots_path }
end

(将ballots_path替换为您的路线。)