【问题标题】:Pass variable between views (erb) using sinatra使用 sinatra 在视图(erb)之间传递变量
【发布时间】:2015-10-09 12:18:06
【问题描述】:

如何将变量从一个视图传递到 Sinatra 中的局部视图?

我已经试过了:

view1.erb

<%= erb_partial :view2, locals: {test: "hello"} %>

view2.erb

<%= puts params[:test] %>

我也试过了:

view1.erb

<%=  erb_partial :view2, test: "hello" %>

info. 但对于 rails 和 sinatra 用于从控制器发送一个变量到视图,例如 this,但不幸的是它没有帮助我。

有什么想法吗?

【问题讨论】:

  • 查看文件在表现层,不包含逻辑。变量传递给他们,他们不传递变量。您可以从视图文件中获取查询字符串或表单变量等,也可以将其传递给另一个 vew 文件。但是在这个过程中应该有一个逻辑——在 sinatra 中它们是路由。如果您完整地描述情况,可能会发布更有帮助的解决方案。

标签: sinatra


【解决方案1】:

局部变量被正确地传递到局部视图。因此,在局部视图中,它将作为普通的局部变量使用——test。您不应该使用params 来访问它们,它包含的数据与视图中可用的局部变量不同。

所以你应该像使用普通局部变量一样使用它:

view2.erb

<%= test %>

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2015-12-31
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2012-09-24
    • 1970-01-01
    相关资源
    最近更新 更多