2011-07-21 4 views
2

私は興味があるので、この質問をします。RORの破壊行為を呼び出す方法

最初の行は標準で、RESTfulで、もちろんdestroyメソッドを呼び出します。 2行目はルーティングエラーを返します。

問題は、最初の行のように2行目を修復する方法です。前にも触れましたが、私の好奇心とより良いRORの理解のためです。

<%= link_to 'delete', file, :method => :delete %></td> 
<%= link_to 'delete', {:action => :destroy, :controller => 'files', :id => file.id.to_s}, :method => :delete %> 

さようなら

+0

これは<%= link_to 'delete'、:action =>:destroy、:controller => 'files'%> – naren

+1

あなたの ':method'が間違っています第2のものでは、 ':delete'でなければならないか、それとも型ですか? – nowk

答えて

1

免責事項:私は、これは、削除を行う方法ではありません知っています。これは、REST外のコントローラーを介してアクションにアクセスする方法の概念の証明です。

あなたはこれを行うことができます。

<%= link_to 'delete', {:action => :destroy, :controller => 'files', :id => file.id} %> 

あなたが明示的にアクションにアクセスする場合の方法は、破壊する必要はありません。また、file.idにto_sは必要ありません。

+1

IIRC、はい、:deleteメソッドを使用する必要があります。これがRESTの全ポイントです。 – DGM

+0

リソースのルートへのRESTリクエストには、メソッド – Anatoly

+0

が含まれている必要があります。残りのメソッドを削除する必要があります。私はなぜ彼の第二のラインがエラーを投げていたのか答えていた。一番上の行が正しい方法です。 「最初のように2行目を修復する方法が問題ですが、前にも触れましたが、それは私の好奇心とRORの理解のためだけです」 –

関連する問題