在资产管道中给出文件posts.js.coffee.erb,我可以这样做
alert "<%= Rails.env %>"
但是如何访问控制器中定义的实例变量?
alert "<%= @posts.to_json %>"
答案 0 :(得分:2)
你做不到。我试图将主题功能添加到博客应用程序,结果发现它不会看到应用程序帮助程序方法或实例变量。
我所做的是为主题中的show动作创建css视图,例如 show.css.erb ,它将通过url访问,如 /themes/black.css
使用javascript也可以这样做,所以如果你需要一个特定的javascript视图,只需为 posts.js.erb 创建一个视图
这种技术在rails中并不新鲜。我记得有人在twitter上询问你是否可以在09年的asp.net mvc中做类似的事情
此外,您需要让控制器响应该格式,以下是我正在处理的应用程序的片段。
def show
@theme = Theme.find(params[:id])
respond_to do |format|
format.html
format.css
end
end
答案 1 :(得分:1)
我认为你需要从视图中提醒它,而不是静态的js文件。