私は、ファイルをディレクトリから削除するコントローラのメソッドにファイル名を渡すビューにリンクを書き込もうとしています。構文の権利を取得できませんでした。 Tobiasの提案を反映するために、以下のコードを更新しました。空白を含むファイル名を除き、動作します。 routesファイルでディレクトリからファイルを削除するリンク
<% @files.each do |f| %>
<% str = f.gsub(/^.*\//, '') %>
<tr>
<td>
<%=str%>
</td>
<td>
<%= link_to "Del", file_cleanup_path(:filename => str) %>
</td>
</tr>
<% end -%>
:ビューで
def file_cleanup
File.delete("#{RAILS_ROOT}/public/downloads/#{params[:filename].gsub /[^\.\w]/, ''}")
redirect_to :action => :index
end
:documents_conroller.rbファイルで
は、以下の方法であり、あなたの助けを
map.file_cleanup '/file_cleanup', :controller => 'documents', :action => 'file_cleanup'
ありがとう!
'params'は、 "s" は、ありません' param'で。 :) –