我有这个苗条的代码:
.search-wrapper
- if content_for?(:fulltext_search)
= yield(:fulltext_search)
- else
- placeholder = nil unless defined? placeholder
= form_tag collection_path, method: :get
.input-group style='margin-bottom: 0;'
= text_field_tag :term, params[:term], placeholder: placeholder || t(:search, default: 'search'), class: 'form-control'
.btn-group
button.btn.btn-search tabindex="-1" type='submit' title=t(:search, default: 'search')
i.fa.fa-search
我想转换为erb代码。我尝试过第一行:
<div class="search-wrapper">
<% if content_for(:fulltext_search) %>
<%= yield(:fulltext_search) %>
<% else %>
<% placeholder = nil unless defined? placeholder %>
<%= form_tag collection_path, method: :get %>
<% end %>
</div>
我正在努力的想法是。我不知道如何将此代码转换为erb:
= form_tag collection_path, method: :get
.input-group style='margin-bottom: 0;'
请告诉我如何转换上述代码。
感谢
答案 0 :(得分:1)
在SLIM中,只要您看到.class-name
,就可以将其转换为<div class="class-name"></div>
此外,.input-group
的缩进表示父do
end
和form-tag
)
在你的情况下,
= form_tag collection_path, method: :get
.input-group style='margin-bottom: 0;'
转换为:
<%= form_tag collection_path, method: :get do %>
<div class="input-group" style="margin-bottom:0">
</div>
<% end %>
.input-group
下的所有缩进内容都会放在<div>
标记内。
使用erb2slim工具验证了这一点。
答案 1 :(得分:1)
最简单的方法是使用内置的erb转换器。为什么不使用它?
跑步:
slimrb -e your_file.slim
你把所有东西都转换成了erb。