从Ruby脚本或控制台渲染局部视图。

7

能否在Ruby脚本或Rails控制台中呈现部分内容?

如何实现呢?


1
这里有一个类似的(非常好的)问题,关于如何在Rails中从控制台调用控制器视图方法。 - Marek Příhoda
1个回答

4

根据部分内容,需要了解它的功能以及调用的方法。但基本上你需要看看它使用了哪种模板引擎(erb、haml)以及做了哪些调用(是否调用了其他内部API等)。 此外,如果您从数据库中获取任何数据(使用activerecord),则必须在脚本中自己建立与数据库的连接并获取数据。

ActiveRecord::Base.establish_connection :adapter => 'sqlite3', :database => '#{YOUR_DATABSE}'

一旦建立连接,获取在部分页面中所需的所有数据。

除此之外,渲染非常基础。

def render(*args, &block)
    self.response_body = render_to_string(*args, &block)
end

render_to_string会调用模板引擎将其转换为html。如果使用的是HAML,代码可能如下:

response = Haml::Engine.new(File.read("#{partial.html.haml")).render

如果你的部分调用了任何Rails API,那么你需要复制/或者包含这些API,这会变得很复杂。

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接