2011-06-21 18 views
2

私はカスタムアクションのルートを設定する方法についてちょっと混乱します。私は、私の見解では、以下のリンクを持っている:私は私のtasks_controllerでlink_toのアクションと一致するルートがありません

<%= link_to 'mark done', finish_task_path(task.id), :method => :post %> 

:私のルートで

def finish 
    @task = Task.find(params[:id]) 
    new = {:status => "done"} 
    @task.update_attributes(new) 
    redirect_to :action => "index" 
    end 

は、私が持っているファイル:

match '/tasks/:id/finish', :to => 'tasks#finish' 

私はまた、次ので試してみました私の見解:

<%= link_to 'mark done', finish_task_path(task.id), :method => :post %>  

それはまた働いていない。ルートを正しく設定するにはどうすればよいですか?

答えて

3

ルートを作成しましたが、名前は付けられていません。これは機能しますか?

match '/tasks/:id/finish', :to => 'tasks#finish', :as => 'finish_task' 

は、あなたが好きなあなたのルートが宣言されていることを確認するためにrake routesの出力を見てください。

+0

これはすばやい応答のおかげです。 – Zakoff

関連する問題