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