如何在coffeescript模板中访问sinatra类的哪个变量?

2026-04-11 18:191阅读0评论SEO资源
  • 内容介绍
  • 文章标签
  • 相关推荐

本文共计444个文字,预计阅读时间需要2分钟。

如何在coffeescript模板中访问sinatra类的哪个变量?

如何从CoffeeScript模板中访问Ruby实例变量?在Sinatra文档中,它表示模板在与调用该模板的路径相同的范围内进行评估。因此,以下是我的简化版本:

从CoffeeScript模板访问Ruby实例变量:- 使用`#{variable_name}`语法在模板中直接引用Ruby实例变量。

Sinatra模板范围示例:- 模板在调用它的同一目录下进行评估。

Sinatra应用示例:rubyserver.rb:require 'sinatra'require 'coffee'

get '/' do erb :indexend

如何从coffeescript模板中访问 ruby实例变量?

在sinatra文档中,它表示模板在与调用该模板的路径相同的范围内进行评估.

如何在coffeescript模板中访问sinatra类的哪个变量?

所以,我有以下sinatra应用程序:

server.rb:

require "sinatra" require "coffee-script" get '/app.js' do @str = "Hello" coffee :app end

在views / app.coffe文件中我想使用@strvariable.可能吗?如果是这样,我如何访问@str变量?

只有当你用像erb这样的东西处理咖啡源文件时才有可能.因此,如果您使用rails资源管道,您只需将.erb附加到文件扩展名,然后在将文件发送到咖啡之前使用erb处理该文件我认为在sinatra中您必须自己包装类似的内容.

这个想法将接近这个 – www.sinatrarb.com/intro#Textile%20Templates

P.S:从不同的应用层访问变量无论如何都是坏主意.

编辑

您在RAILS中有一个名为sprockets的gem驱动的amultistage模板编译过程.您从一个名为/app/views/foo/show.js.coffee.erb的文件开始

class <%= @magic %> doSomthing: -> console.log "hello"

在控制器中添加实例变量

@magic = "Crazy"

Rails首先处理erb文件并生成

class Crazy doSomething: -> console.log "hello"

其次,它处理coffeescript文件以生成

var Crazy; Crazy = (function() { function Crazy() {} Crazy.prototype.doSomething = function() { return console.log("hello"); }; return Crazy; })();

这就是它被称为资产管道的原因.通常你可以称之为编译管道.如果您知道自己在做什么,那么您可以使用Sinatra运行链轮.但是如果你刚刚使用Rails 3.1,你的生活会更容易开始.

本文共计444个文字,预计阅读时间需要2分钟。

如何在coffeescript模板中访问sinatra类的哪个变量?

如何从CoffeeScript模板中访问Ruby实例变量?在Sinatra文档中,它表示模板在与调用该模板的路径相同的范围内进行评估。因此,以下是我的简化版本:

从CoffeeScript模板访问Ruby实例变量:- 使用`#{variable_name}`语法在模板中直接引用Ruby实例变量。

Sinatra模板范围示例:- 模板在调用它的同一目录下进行评估。

Sinatra应用示例:rubyserver.rb:require 'sinatra'require 'coffee'

get '/' do erb :indexend

如何从coffeescript模板中访问 ruby实例变量?

在sinatra文档中,它表示模板在与调用该模板的路径相同的范围内进行评估.

如何在coffeescript模板中访问sinatra类的哪个变量?

所以,我有以下sinatra应用程序:

server.rb:

require "sinatra" require "coffee-script" get '/app.js' do @str = "Hello" coffee :app end

在views / app.coffe文件中我想使用@strvariable.可能吗?如果是这样,我如何访问@str变量?

只有当你用像erb这样的东西处理咖啡源文件时才有可能.因此,如果您使用rails资源管道,您只需将.erb附加到文件扩展名,然后在将文件发送到咖啡之前使用erb处理该文件我认为在sinatra中您必须自己包装类似的内容.

这个想法将接近这个 – www.sinatrarb.com/intro#Textile%20Templates

P.S:从不同的应用层访问变量无论如何都是坏主意.

编辑

您在RAILS中有一个名为sprockets的gem驱动的amultistage模板编译过程.您从一个名为/app/views/foo/show.js.coffee.erb的文件开始

class <%= @magic %> doSomthing: -> console.log "hello"

在控制器中添加实例变量

@magic = "Crazy"

Rails首先处理erb文件并生成

class Crazy doSomething: -> console.log "hello"

其次,它处理coffeescript文件以生成

var Crazy; Crazy = (function() { function Crazy() {} Crazy.prototype.doSomething = function() { return console.log("hello"); }; return Crazy; })();

这就是它被称为资产管道的原因.通常你可以称之为编译管道.如果您知道自己在做什么,那么您可以使用Sinatra运行链轮.但是如果你刚刚使用Rails 3.1,你的生活会更容易开始.