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