草庐IT

RIP动态路由

全部标签

ruby-on-rails - 如何在 Rails 中间件中查找当前抽象路由

Rails版本:'~>4.2.7.1'spree版本:'3.1.1'提示:我如何获得/api/products/:id的路线或在Rails4应用程序的中间件中该路由的Controller和操作。详情:我正在我的Rails应用程序中添加一个类似于gemscout_statsd_rack的中间件.这将添加以下middleware到Rails应用程序以通过statsd发送指标:defcall(env)(status,headers,body),response_time=call_with_timing(env)statsd.timing("#{env['REQUEST_PATH']}.re

ruby-on-rails - 路由错误 : Uninitialized constant in Rails 3

我有一个包含类似这样的辅助类的文件:应用程序/类/myfile.rbModulemymoduleclassmyclass#blahblahendend我想在Controller中使用这个类,所以我写了这样的东西:require'myfile'classMyControllerController的路由定义如下:match'mycontroller',:to=>'mycontroller#index'现在是我面临的奇怪行为。它在服务器启动后的第一次运行中工作得很好。但是,当我刷新页面或再次点击URL时,出现以下错误。RoutingErroruninitializedconstantMyC

ruby-on-rails - 如何在命名空间和根路径的路由中同时拥有一个资源 - Rails 4

我正在命名空间“admin”中创建自定义管理面板。我在该namespace中有资源“类(class)”。但我还想要一个不在该命名空间中的“类(class)”的路由:例如:localhost:3000/admin/courses和localhost:3000/courses如果这需要不同的Controller也没关系。我担心的是,如果我在同一条路线上拥有两种资源,它就不是真正的DRY。namespaceadmindoresources:coursesend只是resources:courses有没有一种方法可以在命名空间和没有命名空间之间共享一个资源,或者上面的例子是可行的方法吗?

ruby - 在 Ruby 中动态定义类方法

在Ruby1.9.3中,我需要创建几个类实例,每个类实例都具有相似的实例方法和类方法,但仅在几个固定参数方面有所不同。它们的类类型的区别也很重要,所以我不能简单地使用同一类的不同实例。一个简化的示例如下所示。moduleAnimalprivatedefself.make_animal(name,legs,noise)klass=Class.newklass.const_set(:NUM_LEGS,legs)klass.class.send(:define_method,:scream){noise.upcase+'!'}Animal.const_set(name,klass)endma

ruby-on-rails - 如何在动态链接中使用 HAML?

我正在尝试使用看起来像这样的HAML创建链接=link_to("Lastupdatedon",'/member/abc/def?month={Time.now.month}&range=xyz&year={Time.now.year}')它没有采用Ruby代码,而是将其显示为字符串Lastupdatedon并且在URL中它也没有采用函数Time.now.month或Time.now.year。如何在URL和字符串中传递Ruby代码? 最佳答案 你可能应该使用这样的东西:=link_to("Lastupdatedon#{@last_d

ruby-on-rails - Rails 3 动态添加虚拟属性

我的设置:Rails3.0.9、Ruby1.9.2我这样做有我的理由,但我需要的是一种将虚拟属性动态添加到activerecord结果集的方法。这意味着我没有在模型中使用attr_accessor,而是希望将虚拟属性动态添加到结果集中。例如,users=User.all#auserhasfollowingattributes:name,email,password我喜欢做的是说添加(不使用attr_accessor)虚拟属性status到users,这可能吗? 最佳答案 你应该这样做:users.eachdo|user|user.i

ruby-on-rails - Rails 4 中关于匹配关键字在 Rails 3 中工作的路由问题

在rails3中,匹配关键字有效,但在rails4中,匹配关键字不适用于路由我如何在rails4中定义这些路由此代码段在rails3中运行match'admin',:to=>'access#menu'match'show/:id',:to=>'public#show'match':controller(/:action(/:id(.:format)))'我需要rails4的通用公式,就像在rails3中一样match':controller(/:action(/:id(.:format)))' 最佳答案 Rails4删除了通用匹配,

ruby-on-rails - 限制资源路由并在 Rails 3 中添加额外的非 RESTful 路由

我无法在这里或其他地方找到任何涵盖限制资源路由和在Rails3中添加其他非RESTful路由的内容。这可能非常简单,但我遇到的每个示例或解释都只解决了一个案例不能同时。这是我在Rails2中所做的一个例子:map.resources:sessions,:only=>[:new,:create,:destroy],:member=>{:recovery=>:get}非常简单,我们只需要7条RESTful路由中的3条,因为其他路由对该资源没有任何意义,但我们还想添加另一条用于帐户恢复的路由。现在据我所知,做这些事情中的任何一件也非常简单:resources:sessions,:only=>

ruby - sinatra路由中的几个可选参数

我需要Sinatra路由以下列方式运行:GET/list/20/10#Get20itemswithoffset10GET/list/20#Get20itemswithdefaultoffsetGET/list#Getdefaultnumberofitemswithdefaultoffset我明白,我可能会将值作为查询传递:GET/list?limit=20&offset=10但我想如上所述传递它们。我很确定有一种方法可以向Sinatra/Padrino解释我想做什么,但我目前完全被困住了。我试过:get:list,:map=>'/list',:with=>[:limit,:offset

ruby-on-rails - 在 Rails 中是否可以动态加载类布局?

我需要消息在项目中有不同的布局,是否可以在Rails中做这样的事情?ClassMessages::New谢谢 最佳答案 这对你有帮助classMessagesController 关于ruby-on-rails-在Rails中是否可以动态加载类布局?,我们在StackOverflow上找到一个类似的问题: https://stackoverflow.com/questions/1274999/