Ruby on rails 控制器中的ruby on rails路由参数

Ruby on rails 控制器中的ruby on rails路由参数,ruby-on-rails,routes,Ruby On Rails,Routes,routes.rb: match 'first/#!/:name' => 'first#first' first_controller.rb: class FirstController < ApplicationController def first @name = params[:name] end end class FirstController“first#first”就可以了。另外,如果他在FirstController中使用了name方法,那么另一

routes.rb:

match 'first/#!/:name' => 'first#first'
first_controller.rb:

class FirstController < ApplicationController
  def first
    @name = params[:name]
  end
end
class FirstController
但是当我呈现url时,
@name
变量为零:


请帮助URL中第一个
#
之后的任何内容(通常)都不会发送回服务器;它只在客户端使用

所以URL
http://localhost:3000/first/#!/客户端中的sayuj
将实际调用URL
http://localhost:3000/first/
在服务器端

有关更多信息,请参阅以下帖子:


URL中第一个
#
之后的任何内容(通常)都不会发送回服务器;它只在客户端使用

所以URL
http://localhost:3000/first/#!/客户端中的sayuj
将实际调用URL
http://localhost:3000/first/
在服务器端

有关更多信息,请参阅以下帖子:

Jits是正确的,url中的#将删除url的其余部分,而且,我认为您的路线不正确,它应该如下所示:

match 'first/:name', :to => 'first#first'
文档位于

Jits是正确的,url中的#将删除url的其余部分,而且,我认为您的路线不正确,它应该如下所示:

match 'first/:name', :to => 'first#first'

文档位于

Hash bang URL通常由JavaScript用于路由,而不是服务器端路由。你为什么这样做?我同意斯基尔德里克的看法。我想这里有XY综合症。您能详细说明一下为什么需要使用hashbang URL吗?hashbang URL通常由JavaScript用于路由,而不是服务器端路由。你为什么这样做?我同意斯基尔德里克的看法。我想这里有XY综合症。您能详细说明一下为什么需要使用hashbang URL吗?Rails 3路由支持速记,这将使其现有代码正常工作。说
match'first/:name'=>“first#first”
就可以了。另外,如果他在
FirstController
中使用了name方法,那么另一种速记方法可以简单地说:
匹配“first/name”
,并将其与rails进行相应的链接。感谢您提供的信息,我不知道您可以进一步速记。rails 3路由支持速记,这将使其现有代码能够正常工作。说
match'first/:name'=>“first#first”
就可以了。另外,如果他在
FirstController
中使用了name方法,那么另一种速记方法可以简单地说:
匹配“first/name”
,并将其与rails进行相应的链接。感谢您提供的信息,我不知道您可以进一步速记。