我试图使用Ruby和Sinatra将参数传递给erb视图。将参数传递给erb视图
例如,我可以这样做:
get '/hello/:name' do
"Hello #{params[:name]}!"
end
我如何通过:name
的看法?
get '/hello/:name' do
erb :hello
end
如何读取view/hello.erb中的参数?
谢谢!
我试图使用Ruby和Sinatra将参数传递给erb视图。将参数传递给erb视图
例如,我可以这样做:
get '/hello/:name' do
"Hello #{params[:name]}!"
end
我如何通过:name
的看法?
get '/hello/:name' do
erb :hello
end
如何读取view/hello.erb中的参数?
谢谢!
只要传递:当地人再培训局()在你的路线:
get '/hello/:name' do
erb :hello, :locals => {:name => params[:name]}
end
,然后只用它的意见/ hello.erb:
Hello <%= name %>
(测试在sinatra 1.2.6)
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] %>
这是Sinatra还是Rails? –
不知道这是最好的方式,但它的工作:
get '/hello/:name' do
@name = params[:name]
erb :hello
end
然后,我可以在你好访问:name
。 erb使用变量@name
我无法让@name工作,但@@ name工作(sinatra(1.3.2)) – westonplatter
@name应该可以工作。 https://github.com/sinatra/sinatra#accessing-variables-in-templates – chug2k
我的观点是最好的方法 – msa7