rails 3路径建设问题

时间:2012-05-19 21:20:51

标签: ruby-on-rails ruby-on-rails-3 routing routes url-routing

我有这样的路线:

scope ':property', :constraints => { :property => /inv|um|tm|pp/ } do
      resources :user_templates do
        member do
          get 'download/:idcreated', :action => 'download'
        end
      end
end

在浏览器http://127.0.0.1:3000/inv/user_templates/6/download/12?locale=uk中,它有效。

但我如何建立资源路径?

我试过了:

download_user_template_path(params[:property], @id, @idcreated)

但我收到了这条消息:

No route matches {:action=>"download", :controller=>"user_templates", :locale=>:uk, :property=>"inv", :id=>76, :format=>6}

它也不起作用:

download_user_template_path('property' => params[:property], 'id' => @tmp_id, 'idcreated' => @created_temp_row[:id])

rake routes

                  GET    /:property/user_templates/:id/download/:idcreated(.:format) {:property=>/inv|um|tm|pp/, :action=>"download", :controller=>"user_templates"}
   user_templates GET    /:property/user_templates(.:format){:property=>/inv|um|tm|pp/, :action=>"index", :controller=>"user_templates"}
                  POST   /:property/user_templates(.:format){:property=>/inv|um|tm|pp/, :action=>"create", :controller=>"user_templates"}
new_user_template GET    /:property/user_templates/new(.:format){:property=>/inv|um|tm|pp/, :action=>"new", :controller=>"user_templates"}
edit_user_template GET    /:property/user_templates/:id/edit(.:format){:property=>/inv|um|tm|pp/, :action=>"edit", :controller=>"user_templates"}
     user_template GET    /:property/user_templates/:id(.:format){:property=>/inv|um|tm|pp/, :action=>"show", :controller=>"user_templates"}
                   PUT    /:property/user_templates/:id(.:format){:property=>/inv|um|tm|pp/, :action=>"update", :controller=>"user_templates"}
                   DELETE /:property/user_templates/:id(.:format){:property=>/inv|um|tm|pp/, :action=>"destroy", :controller=>"user_templates"}

任何帮助PLZ?

1 个答案:

答案 0 :(得分:1)

只需添加:as => :下载,并使用rake路线CONTROLLER = ...