0

ビューに配置できるこの正確な名前付きルートが必要です。

<%= link_to publish_review_path(@review) %>

...次のようなパスにマップしたいと思います:

"/reviews/3456/publish"

...そして、そのパターンが一致したら、次をコントローラーに送信します。

{ 
  :controller => "reviews", 
  :action => "update", 
  :id => "3456", 
  :aasm_event => "publish"
 }

これどうやってするの?

制約として、私はこれを使用してこれを行うことができる必要があります

instea map.resources :reviews

4

1 に答える 1

0

これを行う RESTful な方法は次のとおりです。

ルート:

map.resources :reviews, :member => { :publish => :put }

コントローラ

def publish
  @review = Review.find(params[:id])
  @review.publish!
  respond_to do |format|
   format.html { redirect_to @review }
   …

end
于 2009-12-09T10:55:44.177 に答える