[英]Rails Gem: How to get a gem application layout?
我正在嘗試使用默認的CRUD視圖自定義Rails寶石。
app / views / new.html.erb:
<div class="wishlist">
<div class="row">
<div class="small-12 medium-10 large-8 small-centered columns">
<h1><%= Spree.t(:creating_wishlist) %></h1>
<%= form_for @wishlist do |f| %>
<p><%= f.label :name, Spree.t(:name) %>: <%= f.text_field :name %></p>
<p><%= f.check_box :is_private %> <%= f.label :is_private, Spree.t(:is_private) %></p>
<%= f.submit Spree.t(:create) %>
<% end -%>
</div>
</div>
</div>
我想在所有其他視圖中避免使用相同的div容器.wishlist .row等。 我如何實現類似的目標:
# gem application layout:
<div class="wishlist">
<div class="row">
<div class="small-12 medium-10 large-8 small-centered columns">
<%= yield %>
</div>
</div>
</div>
當我將其另存為app / views / layouts / application.html.erb並在布局為“ application”的gem控制器中進行渲染時,Rails應用程序主布局的視圖將被覆蓋。 但我只希望只有Gem CRUD視圖才能獲得收益。
我可以用我在CRUD視圖的do / end-block外部渲染的部分內容來解決它:
部分位於app / views / base / _layout.html.erb中
<div class="wishlist">
<div class="row">
<div class="hide-for-small medium-1 large-2 columns"></div>
<div class="small-12 medium-10 large-8 small-centered columns">
<%= yield %>
</div>
<div class="hide-for-small medium-1 large-2 columns"></div>
</div>
</div>
在我的CRUD視圖中:
<%= render :layout => 'base/layout' do %>
# content
<% end -%>
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.