我的很多观点是渺茫的模板,我希望在加vote_form
部分到我的应用程序。 我将如何转换从ERB到SLIM这个局部视图?
<strong class="result">Votes: <%= voteable.votes_for - voteable.votes_against %></strong>
<%= form_tag user_votes_path(current_user) do |f| %>
<%= radio_button_tag :thumb_direction, :up %>
<%= radio_button_tag :thumb_direction, :down %>
<%= hidden_field_tag :voteable, @voteable %>
<%= submit_tag :vote %>
<% end %>
谢谢 :)
如何将您的.erb到.slim:
更新! 18-08-2015
你可以简单地使用html2slim宝石
gem install html2slim
该软件包包括一个工具,叫做erb2slim
可以递归ERB文件转换为渺茫。 选项-d
用于完成转换后删除ERB文件。
erb2slim -d <dir of your views>
观色器件维基
更新结束!
你必须通过HAML!
在你的环境,或将宝石安装HAML依赖
gem install html2haml # This was moved out of haml gem
gem install ruby_parser
切换到HAML模板
find . -name '*erb' | \
xargs ruby -e 'ARGV.each { |i| puts "html2haml -r #{i} #{i.sub(/erb$/,"haml")}"}' | \
bash
安装SLIM工具的依赖
gem install haml2slim # https://github.com/fredwu/haml2slim
切换到SLIM模板
find . -name '*haml' | \
xargs ruby -e 'ARGV.each { |i| puts "haml2slim #{i} #{i.sub(/haml$/,"slim")}"}' | \
bash
清洁ERB和HAML模板
find . -name '*erb' -exec rm -f {} \;
find . -name '*haml' -exec rm -f {} \;
删除依赖性
gem uninstall html2haml
gem uninstall ruby_parser
gem uninstall haml2slim
这一切,有乐趣
在这里,你有,只是贴上再培训局代码,然后点击“走出去”:
http://html2slim.herokuapp.com/
这是@乔尔的辉煌答案基础上的。 我不得不修改了一点,因为有些宝石似乎已经感动,我做了一些其他方面的改进:
- 它是所有一个脚本,只是复制粘贴
- 在最后不要删除的宝石,因为我可能需要这为下一个项目(例如,当我创建色器件的看法)
- 在
gem install ...
部分然后被发射到做出更快的处理速度。
转换文件
更新 :通过HAML转换不再需要。 这是更新后的脚本:
#### gem install html2slim # this will install `erb2slim` command line tool.
find . -name '*erb' | \
xargs ruby -e 'ARGV.each { |i| puts "erb2slim #{i} #{i.sub(/erb$/,"slim")}"}' | \
bash
# Clean ERB templates
find . -name '*erb' -exec rm -f {} \;
git add app/views/*
git commit -m "Replace erb with slim"
结果
在我的例子(后运行rails g devise:views
)所有.erb
文件与被替换.slim
文件,然后将其删除:
对于单个文件的替代
有时候,我只是婉转换剪断。 就像是之前提到的。 在这种情况下,我使用
https://html2slim.herokuapp.com
旧的方法
所以在这里我们去:
# You must pass through HAML !
# Install HAML dependencies on your environment or your gemset
gem install haml html2haml hpricot ruby_parser haml2slim
# Switch to HAML templating
find . -name '*erb' | \
xargs ruby -e 'ARGV.each { |i| puts "html2haml -r #{i} #{i.sub(/erb$/,"haml")}"}' | \
bash
#Switch to SLIM templating
find . -name '*haml' | \
xargs ruby -e 'ARGV.each { |i| puts "haml2slim #{i} #{i.sub(/haml$/,"slim")}"}' | \
bash
# Clean ERB and HAML templates
find . -name '*erb' -exec rm -f {} \;
find . -name '*haml' -exec rm -f {} \;
我喜欢事实上的答案,但认为人们很想知道一个新的宝石,其做到这一点更快,少些麻烦。 它是目前相当然而越野车。 :(
退房html2slim 。 说我想我所有的观点改变从.erb
到.slim
,然后我跑(从头开始,并从轨道根目录)以下内容:
gem install html2slim
erb2slim app/views --delete
如果您运行erb2slim -h
可以看到-d
/ --delete
是事后删除ERBS一个选项, --trace
显示了任何错误,一个完整的回溯。 从笔者认为它仍然是实验性的说明。
只需重命名文件结束与.html.slim
代替.html.erb
,并替换类似以下内容:
strong.result= "Votes: #{voteable.votes_for - voteable.votes_against}"
= form_tag user_votes_path(current_user) do
= radio_button_tag :thumb_direction, :up
= radio_button_tag :thumb_direction, :down
= hidden_field_tag :voteable, @voteable
= submit_tag :vote
这是在线工具,你想要做什么http://erb2slim.herokuapp.com是转换ERB片段苗条。
正如在以前的答案我用两种宝石:
gem install html2haml haml2slim
然后:
find app/views -name \*.erb -print | sed 'p;s/.erb$/.haml/' | xargs -n2 sh -c 'html2haml "$0" "$1" && rm "$0"'
更换*.erb
与转换*.haml
版本。
现在转换*.haml
到*.slim
和删除*.haml
文件:
haml2slim -d app/views
所有可选后:
gem uninstall html2haml haml2slim