如何传递Ruby变量';从Ruby页面到Ruby模板的s值
假设我有一个Ruby文件结构,如下所示:如何传递Ruby变量';从Ruby页面到Ruby模板的s值,ruby,Ruby,假设我有一个Ruby文件结构,如下所示: app.rb /视图/index.erb /视图/layout.erb app.rb是包含路由的主应用程序文件。假设我有一条路线如下: get "/" do erb :index end 在layout.erb中,我有我的html头和结尾和等等。它也是我有。的地方,我可以在这里为一些JavaScript方法设置这个范围 假设现在我在index.erb中有了Ruby逻辑。我以某种方式从我的逻辑(index.erb)中获得一个值,并希望将该值传递给
- app.rb
- /视图/index.erb
- /视图/layout.erb
get "/" do
erb :index
end
在layout.erb中,我有我的html头和结尾
和
等等。它也是我有。
的地方,我可以在这里为一些JavaScript方法设置这个范围
假设现在我在index.erb中有了Ruby逻辑。我以某种方式从我的逻辑(index.erb)中获得一个值,并希望将该值传递给layout.erb。可能吗?如果是,我们如何做到这一点
我已检查@variable_name,将其作为路由定义中的参数传递:
get "/" do
@variable_name = ??? -> this do not works since I did not get the logic yet from index.erb, no?
erb :index
end
我还尝试在layout.erb中直接使用简单的或#{variable_name},但没有成功。我实际上发现我能够传输我的“代码”来查看我想在index.erb中填充的小部件,这样我就解决了访问从index.erb中声明的变量定义的值的问题
问题解决了,这是一个更好的使用Ruby的方法,因为这个问题让我阅读了更多关于如何构造自己的内容(Thx to Dave)。为什么视图层中有逻辑?因为我在那里放了一些JavaScript。。。在。。部分我正在尝试将从index.erb计算的值传递到该模板中。但是现在您问了,我可以为特定页面创建一个自定义模板,然后将JavaScript放入index.erb中!JavaScript与Ruby代码有什么关系?如果您正在使用JavaScript进行操作,并且已经将结果发送到浏览器,则服务器端代码将运行,除非您发出Ajax请求。我是Ruby新手,因此如果我没有完全正确地使用它,请原谅我自己!;-)