routes.rb中:
match 'first/#!/:name' => 'first#first'
first_controller.rb:
class FirstController < ApplicationController
def first
@name = params[:name]
end
end
但是当我呈现网址时,@name
变量为nil:http://localhost:3000/first/#!/sayuj
请帮忙
答案 0 :(得分:10)
URL中第一个#
之后的任何内容都不会(通常)发送回服务器;它只在客户端使用。
因此,客户端中的URL http://localhost:3000/first/#!/sayuj
实际上会在服务器端调用URL http://localhost:3000/first/
。
有关详细信息,请参阅以下帖子:
答案 1 :(得分:1)
Jits是正确的,url中的#会丢弃其余的url,我相信你的路线不正确,它应该是这样的:
match 'first/:name', :to => 'first#first'