簡體   English   中英

Rails Gem:如何獲取gem應用程序布局?

[英]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) %>:&nbsp;<%= f.text_field :name %></p>
      <p><%= f.check_box :is_private %>&nbsp;<%= 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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM