是否可以在gem中包含用户可以呈现为部分的视图?

时间:2010-12-27 19:04:59

标签: ruby-on-rails ruby ruby-on-rails-3 rubygems

说我正在制作宝石“awesome_o”,它会让应用程序变得非常棒。我如何打包一些视图部分,以便用户可以选择在他/她的应用程序中使用它们,例如:

<%= render :partial => '#{some_path_to_awesome_o}/list_of_awesome' %>

这可能吗?

3 个答案:

答案 0 :(得分:9)

据我了解,如果在gem的基础上创建一个app/views目录,Rails会将其添加到视图加载路径中。因此,在app/views/my_gem/my_partial.html.ext处创建您的部分,然后render :partial => 'my_gem/my_partial'应该按预期工作。

但就使用情况而言,我希望您也包含一个简单的辅助方法,因为它对我来说要容易得多,并且允许您稍后更改确切的实现。即使它只是在内部调用render :partial,它也会产生更流畅的体验。

答案 1 :(得分:1)

现在您可以使用引擎:http://edgeguides.rubyonrails.org/engines.html

答案 2 :(得分:0)

作为替代方案,您还可以创建生成器以在rails应用程序中创建视图,这将允许用户更改视图以满足其需求。

我想这完全取决于你在做什么。