Tag: 路线

Rails 3.2,No Route Matches {:controller =>’xxx’:action =>’xxx“}

我正在尝试使用复选框forms编辑多个记录, 如此Railscast中所示。 从那以后Rails发生了变化,我在路由和表单方面遇到了麻烦。 我有一个PeopleController,我正在尝试制作一个可以同时编辑所有电话号码的表单。 是的,我知道这不是一个有用的function,因为通常没有理由将每个人的电话号码改为同一个东西,但我只是用它来熟悉代码 – 而且它不起作用! 这是我得到的: people_controller: class PeopleController < ApplicationController helper_method :sort_column, :sort_direction def index @people = Person.order(sort_column + " " + sort_direction) respond_to do |format| format.html # index.html.erb format.json { render json: @people } end end # GET /people/1 # GET /people/1.json def show @person = Person.find(params[:id]) respond_to do |format| format.html […]

如何向路由Rails 3添加新的自定义资源

如何在Rails 3路由中为新资源添加自定义路由? 我知道如何为集合和成员这样做,但这种风格似乎不适用于新资源。 这是一个错误还是我做错了什么? 所以这些工作: collection do get :wish end member do get :wish end 但这不起作用: new do get :wish end

Rails – 如何处理不存在的路由(“没有路由匹配”)?

我的route看起来像 match ‘about’ => ‘company#about’ 当我设置为URL http://localhost:3000/aboutttt ,我收到错误消息 No route matches [GET] “/aboutttt” 我想给用户更好的反馈。 我认为最好的解决方案可能是重定向应用程序,或者在应用程序的主页上,但是当我得到上述错误时,以任何方式存在于路由中以设置默认路由?

使用Rails动态构建RESTful路由

我正在尝试编写一个辅助方法,它接受复数资源的名称并返回相应的链接。 该方法的本质是: def get_link(resource) link_to “#{resource.capitalize}”, resource_path end – 上面的resource_path部分不起作用。 我想要的是能够通过foos来获取foos_path和bars以获得bars_path等。我该怎么做? 我无法解决语法问题。

用于动态路由的routes.rb中的Rails访问请求

我们的网站应该允许显示与给定url相关的不同内容..类似于wordpress中的多字节,我们有一个安装,并根据url提供内容。 因为有必要使用正确的语言,我想使用“动态路线”方法来提供正确的内容。 我现在的问题是,如果它们是动态的,我找不到如何在routes.rb中提供正确路由的方法。 如何将请求对象 “访问”或“传递”到routes.rb文件中的任何方法 我喜欢这个 的routes.rb Frontend::Application.routes.draw do DynamicRouter.load request end 应用程序/模型/ dynamic_router.rb class DynamicRouter def self.load request current_site = Site.find_by_host(request.host) Frontend::Application.routes.draw do current_site.routes do |route| get “#{route.match}”, to: “#{route.to}” end end end end 这不起作用,因为在routes.rb中未定义请求

Ruby on Rails:在资源路由上使用slug而不是id

所以我正在寻找一个可以帮助我实现以下Rails资源的解决方案: /admin/articles/:slug/edit 而不是 /admin/articles/:id/edit 我正在寻找Rails 资源路由而不是其他类型的路由。 只想知道是否有可能。 如果是这样,怎么样?

限制资源路由并在Rails 3中添加其他非RESTful路由

我无法在这里或其他任何地方找到限制资源路由和在Rails 3中添加其他非RESTful路由的任何内容。这可能非常简单,但我遇到的每个示例或解释只解决了一个案例,而不是两个同一时间。 这是我在Rails 2中所做的一个例子: map.resources :sessions, :only => [:new, :create, :destroy], :member => {:recovery => :get} 非常简单,我们只需要7个RESTful路由中的3个,因为其他路由对此资源没有任何意义,但我们还想添加另一个用于帐户恢复的路由。 现在,从我收集到的任何一件事情中,其中一件事情也非常简单: resources :sessions, :only => [:new, :create, :destroy] 就像在Rails 2中一样。并且: resources :sessions do member do get :recovery end end 那么,我如何将这两者结合起来呢? 我还可以使用旧的Rails 2方式吗? 在Rails 3中有一种首选的方法吗?

创建一个使用Sinatra的路由只接受某种内容类型

我正在尝试创建一个使用Sinatra的路由,它只接受带有Content-type: application/json POST Content-type: application/json但没有成功。 我的方法如下: post ‘/dogs’, :provides => :json do # returns here a json response end 使用curl进行测试,我已经看到:provides => :json配置路由以使用Content-Type: application/json进行响应。 这是正确的,因为我还希望用POST请求的JSON消息进行响应,但我真的需要这条路由只响应具有Content-Type: application/json POST请求,而不是响应其他人(例如Content-Type: application/xml )。 在Sinatra中是否有任何方法限制路由只接受具有特定Content-Type请求?

在公共基线路线上建立路线?

我有一个共同的基本路径; 说: get /base我需要执行基本身份validation并在该路径下为所有子调用工作。 说: get /base/foo和get /base/bar 。 查看http://www.sinatrarb.com/intro.html#Helpers建议我应该可以使用帮助程序来完成此操作。 我正在查看pass助手并在文档中触发新路由时使用call 。 但是,我读到的另一个建议是使用正则表达式IE %r{/base/?:(path)?}或其他一些动态路由。 那么怎么样: def ‘/base’ # do some funky basic auth stuff here # to work with all request to this common # base path? pass end def %r{/base/?(path)?} do |path| case path when ‘foo’ # do something. when ‘bar’ # do something […]

我的rails 4应用程序上的每个link_to都被调用两次

我正在使用我的Rails 4应用程序遇到一些不寻常的行为。 每次我点击我的视图中的link_to,我的控制器动作被调用两次。 例如: 在我的root_url我对root_url进行了这个标准调用: “logout-button”) %> 当我单击此链接时,我的控制台显示以下输出: Started GET “/users/profile” for 127.0.0.1 at 2013-11-25 20:45:53 -0200 Processing by Users::SessionsController#profile as HTML User Load (0.7ms) SELECT “users”.* FROM “users” WHERE “users”.”id” = 45 ORDER BY “users”.”id” ASC LIMIT 1 InvestorProfile Load (0.5ms) SELECT “investor_profiles”.* FROM “investor_profiles” WHERE “investor_profiles”.”user_id” = $1 ORDER BY “investor_profiles”.”id” ASC LIMIT […]