Newbea Restful Route ??/

Hello RoR Developers,

I have tiny problem with router, could you check the code to help me
finding issue.
routes.rb

resources = {

   :rule => { :collection => { :update_assignments => :put ,
:details => :put }, :member => { :update_label => :get} },
   }
resource = {
    :config => {},
    :role_shift => {},
    :shift_config => {},
  }

  resources.each do |entity, options|
    map.resources entity.to_s.pluralize, {
      :controller => "preset_project/#{entity}",
      :name_prefix => 't_project_',
      :path_prefix =>
'/:enterprise_code/:m_hierarchy_id/:t_project_id',
      :requirements => { :m_hierarchy_id => /\d+/, :t_project_id =>
/\d+/ },
    }.merge(options)

    map.resources entity.to_s.pluralize, {
      :controller => "preset_project/#{entity}",
      :name_prefix => 't_preset_',
      :path_prefix => '/:enterprise_code/:m_hierarchy_id',
      :requirements => { :m_hierarchy_id => /\d+/ },
    }.merge(options)
  end

  resource.each do |entity, options|
    map.resource entity, {
      :controller => "preset_project/#{entity}",
      :name_prefix => 't_project_',
      :path_prefix =>
'/:enterprise_code/:m_hierarchy_id/:t_project_id',
      :requirements => { :m_hierarchy_id => /\d+/, :t_project_id =>
/\d+/ }
    }.merge(options)

    map.resource entity, {
      :controller => "preset_project/#{entity}",
      :name_prefix => 't_preset_',
      :path_prefix => '/:enterprise_code/:m_hierarchy_id',
      :requirements => { :m_hierarchy_id => /\d+/ },
    }.merge(options)
  end
controller:

require 'csv'
class PresetProject::RuleController < PresetProject::BaseController

def details

CSV::Writer.generate(output = "" ) do |csv|
Order.find(:all).each do |order|
csv << [@t_project_rule]
end
end
send_data(output,
:type => content_type,
:filename => "preview.csv" ,
:disposition => 'attachment',
:streaming => 'true',
:buffer_size => 4096)

end

rhtml codes

<%= button_to "prev" , :controller=>"preset_project/rule",
:action=>"details", :method => :put %>
error message :
Only get, put, and delete requests are allowed.

so how will I run my details method? I can not trigger.

thanks