Javascript 向模板添加内容的最佳方式是什么?

Javascript 向模板添加内容的最佳方式是什么?,javascript,ruby-on-rails,templates,Javascript,Ruby On Rails,Templates,我正试图找到一种方法,从各个视图文件向application.html.haml文件中定义的div添加内容。我之所以要这样做,是因为我有一个侧边栏,它总是存在并且在模板中定义,但我希望侧边栏中包含每个页面的特定内容。这是用javascript实现的最好方法,还是有一些RubyonRails技巧可以让这变得更简单?我会使用内容作为助手()() 在haml中,这看起来像: (布局模板) (页面模板) 我会使用content_作为helper()() 在haml中,这看起来像: (布局模板) (页面模

我正试图找到一种方法,从各个视图文件向application.html.haml文件中定义的div添加内容。我之所以要这样做,是因为我有一个侧边栏,它总是存在并且在模板中定义,但我希望侧边栏中包含每个页面的特定内容。这是用javascript实现的最好方法,还是有一些RubyonRails技巧可以让这变得更简单?

我会使用
内容作为
助手()()

在haml中,这看起来像:

(布局模板)

(页面模板)


我会使用
content_作为
helper()()

在haml中,这看起来像:

(布局模板)

(页面模板)


如果您与处理视图的专业设计师合作,从长远来看,可能更容易使用重复的视图代码。有些人很难通过局部搜索并“看到”它们是如何组合在一起的。我发现这些人更容易让他们管理整个shebang,并在需要时更新多个文件。最优的作为程序员,我们不这么认为,但设计师更习惯于在一个或三个文件中看到大多数HTML,而不是20个文件中

尽可能多地使用partials来保持代码干燥

这个链接帮助你


如果您与处理视图的专业设计师合作,从长远来看,可能更容易获得重复的视图代码。有些人很难通过局部搜索并“看到”它们是如何组合在一起的。我发现这些人更容易让他们管理整个shebang,并在需要时更新多个文件。最优的作为程序员,我们不这么认为,但设计师更习惯于在一个或三个文件中看到大多数HTML,而不是20个文件中

尽可能多地使用partials来保持代码干燥

这个链接帮助你


非常感谢!这正是我需要的。还有什么方法可以传递一个partial to content_for吗?content_for接受一个块(说到这里,我注意到我在回答中遗漏了该块开头的“do”)——在该块中,你可以做任何你在普通Haml模板中可以做的事情,包括渲染partial等。非常感谢!这正是我需要的。是否需要将部分内容传递给content_for?content_for接受一个块(说到这里,我注意到我在回答中遗漏了该块开头的“do”)—在该块中,您可以执行在普通Haml模板中可以执行的任何操作,包括渲染部分内容,等等。这篇文章的第一段是从伊恩·泰瑞尔的答案中抄来的。这太粗鲁了。这篇文章的第一段是从伊恩·特雷尔的答案中抄来的。这太粗鲁了。
#sidebar= yield :sidebar
-content_for :sidebar do
  ...your content here