jjzjj

leaflet-routing-machine

全部标签

ruby-on-rails - 如何防止 Rails Controller 生成器修改 config/routes.rb

有时我会运行类似railsgcontrollerfooindex的命令来生成Controller和模板的骨架。因为我不希望每个Controller都有助手和Assets,所以我将以下代码放入config/application.rb:config.generatorsdo|g|g.helperfalseg.assetsfalseend还有一件事我不想发生。生成器将一行get"foo/index"添加到我的config/routes.rb。我该如何预防? 最佳答案 从Rails4.2开始,可以在application.rb中使用以下代

ruby-on-rails - 在 Rails 3 中使用 current_page 时为 "No routes matches"

有没有人遇到过使用current_page时路由神秘地变得无法检测到?在Rails3中?即使使用包含路由、View和Controller的完全生成的脚手架,我也会收到“无路由匹配”错误。代码如下:ifcurrent_page?(:controller=>'users',:action=>"show")如果我向routes.rb添加一个“匹配”命令,它工作正常,但如果资源已经创建,为什么我需要这样做呢?我错过了什么? 最佳答案 如果你只是想测试当前的Controller,你可以这样做:ifparams[:controller]=='u

ruby-on-rails - `add_route' : Invalid route name, 已在使用中:'root' (ArgumentError)

我使用的是rails4.1.1和ruby​​2.1.1,我在设计方面遇到了问题,即我的路线。我以前用过很多次devise_for:usersget'pages/index'#RoutetoDeviseLoginPagedevise_scope:userdorootto:"devise/sessions#new"end#Directingtheuserafterloginauthenticated:userdoroot:to=>'pages#index'end但是我得到了错误`add_route':Invalidroutename,alreadyinuse:'root'(Argument

ruby-on-rails - 如何将 routes.rb 拆分成更小的文件

是否可以拆分Rails3.Xroutes.rb文件?我们有很多资源,很难找到它们。我想至少拆分APP和RESTAPI路由。谢谢! 最佳答案 你可以这样做:路线.rbrequire'application_routes'require'rest_api_routes'lib/application_routes.rbYourApplication::Application.routes.drawdo#Applicationrelatedroutesendlib/rest_api_routes.rbYourApplication::Ap

ruby-on-rails - 基于不同于 ID 的东西的 Rails Route

所以目前当我想查看用户个人资料时,我有类似/users/1/的东西。我如何通过routes.rb将其更改为/user/chiggins/其中chiggins是唯一的用户名? 最佳答案 你需要重写User模型中的to_param方法:classUserdefto_paramusernameendend然后rails将自动使用它进行路由。参见http://api.rubyonrails.org/classes/ActiveRecord/Base.html#method-i-to_param

ruby-on-rails - 在 state_machine gem 上持久化之前的验证

在state_machine中的转换之前执行验证的正确语法是什么?gem?我试过以下,before_transition:apple=>:orangedovalidate:validate_coreenddefvalidate_coreifcore.things.blank?errors.add(:core,'musthaveonething')endend但是我得到以下错误,undefinedmethod`validate'for#我也试过把它写成,state:orangedovalidate:validate_coreend但这会导致记录保存后回滚,不太理想。我想首先阻止状态机转换

ruby-on-rails - Rails 4 + Devise : Invalid route name, 已在使用中

我正在按照此操作方法在成功注册后修改确认页面。https://github.com/plataformatec/devise/wiki/How-To:-Redirect-to-a-specific-page-on-successful-sign-up-(registration)我按照它所说的做了所有事情,但我得到了这个错误:in`add_route':Invalidroutename,alreadyinuse:'new_user_session'(ArgumentError)Youmayhavedefinedtworouteswiththesamenameusingthe`:as`o

ruby-on-rails - rake 路由错误 "Missing :action key on routes definition"

我得到了$rakeroutesrakeaborted!ArgumentError:Missing:actionkeyonroutesdefinition,pleasecheckyourroutes./usr/local/rvm/gems/ruby-2.1.2/gems/actionpack-4.1.5/lib/action_dispatch/routing/mapper.rb:243:in`default_controller_and_action'/usr/local/rvm/gems/ruby-2.1.2/gems/actionpack-4.1.5/lib/action_dispa

ruby-on-rails - :as in rails routes. rb

在config/routes.rb中,我都试过了:root:to=>'things#index',:as=>'things'和root:to=>'things#index'当我点击http://localhost:3000/时,这两种方法都有效,而且似乎没有什么不同。:as选项有什么用? 最佳答案 :as选项形成一个命名路由。通常用于非根路由。例如:match'/search'=>'search#search',:as=>'search'#SearchController#search然后你可以这样做:search_path和sea

ruby-on-rails - 更改 :id parameter in Routing resources for Rails 的名称

我四处查看如何更改动态参数槽,发现这篇文章完全符合要求。帖子是https://thoughtbot.com/blog/rails-patch-change-the-name-of-the-id-parameter-in基本上它所做的是,如果以下是路线:map.resources:clients,:key=>:client_namedo|client|client.resources:sites,:key=>:namedo|site|site.resources:articles,:key=>:titleendend这些路由创建以下路径:/clients/:client_name/cli