我试图使用Ruby和Sinatra将参数传递给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 <%= name %>

(在sinatra 1.2.6上测试)

Ruby相关问答推荐

使用map DO使用嵌套数组重构对象数组

类似于模块的 attr_accessor 和 attr_reader 的东西?

ASDF 上缺少 Ruby 版本

如何在加载文件时禁用重新定义常量的警告

ActiveRecord::AdapterNotSpecified 数据库配置未指定适配器

Ruby |= 赋值运算符

Ruby 局部变量未定义

如何调试/显示使用 RestClient 发送的请求

理解|| Ruby 中 If 条件中的 OR 运算符

使用 for each 时识别最后一个循环

从命令行使用Bundle 器将 gem 添加到 gemfile

如何在 Ruby 脚本中运行 Rake 任务?

判断是否在 SASS 中定义了变量

Ruby on Rails switch

Ruby - 无法修改冻结的字符串 (TypeError)

Capybara:按值而不是文本 Select 选项

如何在 Ruby 中对数组进行分块

解析带有标题字段的 CSV 文件作为每行的属性

Ruby:捕获异常后继续循环

严格将字符串转换为整数(或 nil)