Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/ruby-on-rails/68.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Ruby on rails 将Rails 2路线更改为Rails 3路线_Ruby On Rails - Fatal编程技术网

Ruby on rails 将Rails 2路线更改为Rails 3路线

Ruby on rails 将Rails 2路线更改为Rails 3路线,ruby-on-rails,Ruby On Rails,您好,我正在尝试更改Rails2项目中的路由,以匹配Rails3中的语法。我将如何改变这一点: map.connect "/stylesheets/:action.css", :controller => "stylesheets", :format => "css" 以便:action可以与来自样式表控制器的操作相匹配? 是这样的吗 匹配'stylesheets/:action.css',:to=>“stylesheet

您好,我正在尝试更改Rails2项目中的路由,以匹配Rails3中的语法。我将如何改变这一点:

    map.connect "/stylesheets/:action.css", 
            :controller => "stylesheets", 
            :format => "css"
以便
:action
可以与来自样式表控制器的操作相匹配? 是这样的吗

匹配'stylesheets/:action.css',:to=>“stylesheets{:action}”


另外,rails 3的routes中的
:format
的语法是什么?

我认为它应该是smth,比如:

match 'stylesheets/:action', :controller => :stylesheets, :defaults => { :format => :css }
或者您可以使用
:constraints=>{:format=>'json'}


我建议您通读一下

您的解决方案就快到了。唯一需要更改的是在
:to
值中引用
:action
的方式

match 'stylesheets/:action.css', :to => 'stylesheets#:action', :format => :css

如您所见,
:format
的语法没有改变

所以我不需要一个
:to=>
?@Edmund您需要指定控制器在这种情况下,请查看代码。在
匹配'stylesheets/:action.css'
的样式表前面是否有一个
/
是否重要?像
match'/stylesheets/:action.css'
,据我所知,这没有任何区别。