map.connect是否接受URL中的通配符格式?

时间:2009-06-22 22:48:37

标签: ruby-on-rails routes

如果我想匹配 x.gify.gif ,是否可以将网址传递给map.connect,其中包含两个文件名的可能性:

map.connect "public/images/:name.gif",
  :controller => "static_image_controller",
  :action => "serve"

然后在我的param中收到StaticImageController作为params[:name]

class StaticImageController < ApplicationController
  def serve
    image_name = params[:name]
    image = File.read(File.join(Rails.root, image_name))
    send_data image, :type => "image/gif", :disposition => "inline"
  end
end

除了我在这里所做的事情违反了Rais中的约定优于配置的原则,这看起来是否合适?

1 个答案:

答案 0 :(得分:3)

map.connect '/public/images/:filename', :filename => /\.gif$/

会这样做。