1

それ以外の場合は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

どちらの場合も、このコントローラーの「表示」アクションで応答したいと思います。しかし、構文がどうあるべきかわからない。

4

1 に答える 1

2

redirect_toパスを指定するためにそこで行うことができると思います:

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

ballots_path(ルートに置き換えます。)

于 2012-02-26T19:12:04.507 に答える