开发者

creating a link_to for custom route

开发者 https://www.devze.com 2023-01-28 10:01 出处:网络
I have a custom route (if I am doing that correctly, this is the first time I have done this) that looks like this:

I have a custom route (if I am doing that correctly, this is the first time I have done this) that looks like this:

map.connect 'purchases/ty开发者_JS百科pe/:type', :controller => 'purchases', :action => 'index'

so I want to create a link_to that would use that url /purchases/type/(somenumber)

or I am completely open for a better way to do it.

Edit:

I am trying to use a category (type) to filter on the index. So if I click the link that would be /purchases/type/1 that would show all the items from type 1. I dont want this in the show, and I could do it with /purchases/?type=1, but im trying to make the urls look better.


Untested but I believe this is what you want...

map.purchase_type 'purchases/type/:type', :controller => 'purchases', :action => 'index'

Then

link_to 'foo', purchase_type_path(:type => 'your_type')

Good luck.


Based on http://www.tutorialspoint.com/ruby-on-rails-2.1/rails-routes.htm (section "named routes"), I'd try the following:

map.purchases_for_type 'purchases/type/:type', :controller => 'purchases', :action => 'index'

And I assume you'd then call it with link_to 'link text', purchases_for_type(@type_param)


For reference, I'll include the Rails3 way to do it:

match '/purchases/type/:type' => 'purchases#index', :as => "purchases_for_type", :via => "get"

Or better yet (RESTful):

match '/type/:type/purchases' => 'purchases#index', :as => "purchases_for_type", :via => "get"

You'd then call it with link_to 'link text', purchases_for_type(@type_param)

0

精彩评论

暂无评论...
验证码 换一张
取 消

关注公众号