我試圖使用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