将parameter passing给erb视图
我试图使用Ruby和Sinatra将parameter passing给erb视图。
例如,我可以这样做:
get '/hello/:name' do "Hello #{params[:name]}!" end  我如何通过:name视图? 
 get '/hello/:name' do erb :hello end 
我怎样读取view / hello.erb中的参数?
谢谢!
只需将:locals传递给路由中的erb():
 get '/hello/:name' do erb :hello, :locals => {:name => params[:name]} end 
然后在views / hello.erb中使用它:
 Hello <%= name %> 
(在Sinatra 1.2.6上testing)
不知道这是否是最好的方法,但它的工作原理:
 get '/hello/:name' do @name = params[:name] erb :hello end 
 然后,我可以使用variables@name访问:name hello.erb中的:name 
 get '/hello/:name' do "Hello #{params[:name]}!" end 
你不能在路线上这样做。
你想在控制器中设置参数。
 app/controllers/some_controller.rb 
 def index params[:name] = "Codeglot" params[:name] = "iPhone" params[:name] = "Mac Book" end 
 app/views/index.html.erb 
 <%= params[:name] %> <%= params[:phone] %> <%= params[:computer] %>