0

在 javascript、样式表和视图模板之间共享名称的最简单/最优雅的方式是什么?是否应该使用一些初始化文件中定义的变量来完成?我听说 Ryan Bates 在他的一个 railscast 中谈到 js.coffee.erb 有一些问题(其中包含 .erb 和 ruby​​)(他没有提到问题是什么)。

x.html.erb -<div id="awesomediv">Awesome</div>

x.css.scss -#awesomediv {background-color: #333333}

x.js.coffee -$('#awesomediv').text("You are awesome")

组织和干涸文件中所有“awesomediv”名称的最佳方法是什么?我相信我在他的 RailsConf 演示中看到了 DHH 使用变量,但我没有遵循他的目录结构或他如何使用变量组织不同的文件。

如果我需要将名称“awesomediv”更改为“veryawesomediv”,我必须将其更改为许多不同的位置/文件。即使是中等大小的应用程序也必须随着时间的推移进行此类更改。

我正在寻找最佳实践/对其他人在管理这种情况方面效果很好的东西。

4

1 回答 1

0

我使用了 rails_conf gem,它使您可以访问所有视图/控制器中的 Settings 对象。所以在 css.erb 你可以有

#<%= Settings.tag_ids.awesome %> {
  //css rules
}

我认为这适用于rails 3.1或更高版本。

然后在所有布局中包含的javascript文件中

tag_ids = <%= Settings.tag_ids.to_json.html_safe %>;

然后你的 js 可以将它们称为

tag_ids.awesome
于 2013-07-23T18:14:57.420 回答