将参数传递给 erb 视图
我正在尝试使用 Ruby 和 Sinatra 将参数传递给 erb 视图。
例如,我可以这样做:
get '/hello/:name' do
"Hello #{params[:name]}!"
end
如何将 :name
传递给视图?
get '/hello/:name' do
erb :hello
end
如何读取 view/hello.erb 中的参数?
谢谢!
I'm trying to pass parameters to an erb view using Ruby and Sinatra.
For example, I can do:
get '/hello/:name' do
"Hello #{params[:name]}!"
end
How do I pass :name
to the view?
get '/hello/:name' do
erb :hello
end
And how do I read the parameters inside view/hello.erb?
Thanks!
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(3)
只需将 :locals 传递给路由中的 erb() 即可:
然后在views/hello.erb 中使用它:(
在 sinatra 1.2.6 上测试)
just pass the :locals to the erb() in your routes:
and then just use it in the views/hello.erb:
(tested on sinatra 1.2.6)
不确定这是否是最好的方法,但它有效:
然后,我可以使用变量
@name
访问 hello.erb 中的:name
Not sure if this is the best way, but it worked:
Then, I can access
:name
in hello.erb using the variable@name
您不能在路线中执行此操作。
您想在控制器中设置参数。
app/controllers/some_controller.rb
app/views/index.html.erb
You cannot do this in routes.
You want to set the params in the controller.
app/controllers/some_controller.rb
app/views/index.html.erb