如何格式化/美化rails erb代码

时间:2015-05-23 07:24:25

标签: ruby-on-rails

如何格式化/美化rails erb代码。视图代码是erb和JS的混合。

我也尝试使用以下工具,但它没有帮助 https://github.com/katgironpe/rails-erb-lint

3 个答案:

答案 0 :(得分:2)

格式化/美化rails的好IDE是 RubyMine

RubyMine 能够重新格式化多种类型的文件,例如 Ruby HTML JavaScript CSS

重新格式化erb文件的示例:

在: Before formatting code

在: After formatting code

您可以在偏好设置/编辑器/代码样式

中设置代码样式

答案 1 :(得分:2)

您已经使用过的工具,即rails-erb-lint,只检查ERB的有效性,并且无法帮助美化ERB代码。我不知道您使用的是哪种编辑器,但您可以尝试Sublime Text 3Github's Atom。这两个都有第三方包来美化Ruby和ERB代码。此外,这些编辑器的缩进和尾随空格去除能力足以美化/格式化ERB文件,尽管它们具有按需/选择性地执行此操作的菜单项/快捷方式。

答案 2 :(得分:0)

如果您使用的是Sublime Text,请查看此" Sublime Text 2& 3插件到BeautifyRuby ":

<强> https://github.com/CraigWilliams/BeautifyRuby

通过Sublime的套餐控制系统安装后,您可以使用快捷方式 ctrl + alt + k (在Windows + Linux上)或 ctrl + cmd + k (在OS X上)手动美化你的Ruby和erb文件 - 或者配置插件在保存任何Ruby-和erb文件之前自动执行。配置很简单 - 你可以在这里找到配置文件(通过Sublime-菜单):

Preferences > Package Settings > BeautifyRuby > Settings - Default

{
    // Specify your ruby interpreter:  
    "ruby": "~/.rvm/bin/rvm-auto-ruby", 
    // Use 2 Spaces instead of tabs: 
    "translate_tabs_to_spaces": true,
    "tab_size": 2,
    // You can change the file patterns handled by this plugin:
    "file_patterns": ["\\.html\\.erb", "\\.rb", "\\.rake", "Rakefile", "Gemfile", "Vagrantfile"],
    "html_erb_patterns": ["\\.html\\.erb"],
    // This package offers a pre-save hook; when activated, your ruby and erb files will 
    // be reformatted automatically before saving (deactivated by default)
    "run_on_save": false,
    // The sublime command "beautify_ruby" performs a save after formatting. 
    // (activated by default) 
    "save_on_beautify": false    
} 

BeautifyRuby依赖于Ruby gem htmlbeautifier,它需要首先安装在您的系统上。否则,每次尝试美化代码时,插件都会抛出错误。请确保,上面显示的配置文件中的ruby-interpreter设置指向正确的ruby,其中包含htmlbeautifier-gem ......