2014-06-18 90 views
1

我無法讓我的本地變量在選項卡之間切換。當地人被設置在使用該表格的每個標籤下的h3標籤下。從那裏,本地被傳遞到類別變量,所以我的表單可以使用它作爲一個部分。目前,無論選擇哪個選項卡,它只會拉第一個局部變量「Associates」。爲什麼我的本地變量不會隨標籤更改而改變?

有沒有辦法確保類別變量根據選中的選項卡獲取傳遞給它的正確本地?

在此先感謝。

_form.html.erb 

<%= form_for(@best_practice) do |f| %> 
<% if @best_practice.errors.any? %> 
<div id="error_explanation"> 
    <h2><%= pluralize(@best_practice.errors.count, "error") %> prohibited this best practice from being saved:</h2> 

    <ul> 
    <% @best_practice.errors.full_messages.each do |msg| %> 
    <li><%= msg %></li> 
    <% end %> 
    </ul> 
    </div> 
    <% end %> 

    <div class="field" style="width:90%;"> 
    <%= f.label :title %><p class="tabbertab-lbreak"></p> 
    <%= f.text_field :title %> 
    <%= f.hidden_field :category, :value => @category %> 
    </div> 
    <div class="field" style="width:90%;"> 
    <%= f.label :body %><p class="tabbertab-lbreak"></p> 
    <%= f.text_area :body, :cols => 30, :rows => 5 %> 
    </div> 
    <div class="actions"> 
    <%= f.submit(class: 'btn btn-large btn-primary') %> 
    </div> 
    <% end %> 

company.html.erb 

<div class="tabbable full-width-tabs"> 
     <ul class="nav nav-tabs nav-justified"> 
      <li class="active take-all-space-you-can"><a href="#tab-one" data-toggle="tab">Home</a></li> 
      <li class="take-all-space-you-can"><a href="#tab-two" data-toggle="tab">Associate</a></li> 
      <li class="take-all-space-you-can"><a href="#tab-three" data-toggle="tab">Safety</a></li> 
      <li class="take-all-space-you-can"><a href="#tab-four" data-toggle="tab">Order Fulfillment</a></li> 
     </ul> 
     <div class="tab-content"> 
      <div class="tab-pane active" id="tab-one"> 
       <h3 class="splash-header">Welcome!</h3> 
       <p>Lorem ipsum dolor sit amet, consectetur adipiscing elit. Curabitur condimentum a purus vitae lobortis. Donec at nulla in lorem luctus semper. Nam porta dui eget pharetra pretium. Maecenas vitae porta est, sit amet auctor diam. Vestibulum mollis lectus mi, sed ultrices eros scelerisque in. Vivamus ultrices laoreet sem, id venenatis risus facilisis sit amet. Ut a hendrerit nisi, ut laoreet dui.</p><p>Proin laoreet massa sed dictum elementum. Nulla quis suscipit nisi. Etiam aliquam at nibh et feugiat. Pellentesque gravida lorem id erat elementum accumsan. Fusce sit amet enim nec nunc hendrerit molestie. Ut quis orci viverra tortor lobortis fringilla. Aenean in ligula dui. Morbi ornare malesuada augue, sed elementum purus varius ut. Fusce suscipit orci id diam tristique, ut semper lorem cursus. Proin urna massa, pulvinar at sapien vitae, tempor cursus sem. Nunc sit amet nibh sit amet odio luctus ultrices vel congue sem. Maecenas elementum, turpis nec cursus volutpat, diam quam faucibus ipsum, pellentesque tincidunt mi velit eget ligula. Aenean elementum, neque vel accumsan rutrum, risus diam posuere risus, sit amet semper risus magna sed nibh. Pellentesque quis risus at dui bibendum ornare ut vel augue. Aliquam et nunc sit amet dolor vehicula eleifend.</p>      
      </div> 
      <div class="tab-pane" id="tab-two"> 
       <h3 class="splash-header">Post Best Practice</h3> 
        <% @associate = "Associate" %> 
        <%= render 'best_practices/form', local: {category: @associate} %> 
        <h3 class="splash-header">View Best Practice</h3> 
        <ul> 
        <% BestPractice.with_category("Associate").each do |bp| %> 
        <li><%= link_to bp.title, best_practice_path(bp) %></li> 
        <% end %> 
        </ul>  
      </div> 
      <div class="tab-pane" id="tab-three"> 
       <h3 class="splash-header">Post Best Practice</h3> 
        <% @safety = "Safety" %> 
        <%= render 'best_practices/form', local: {category: @safety} %> 
        <h3 class="splash-header">View Best Practice</h3> 
        <ul> 
        <% BestPractice.with_category("Safety").each do |bp| %> 
        <li><%= link_to bp.title, best_practice_path(bp) %></li> 
        <% end %> 
        </ul> 
      </div> 
      <div class="tab-pane" id="tab-four"> 
       <h3 class="splash-header">Post Best Practice</h3> 
        <% @order = "Order Fulfillment" %> 
        <%= render 'best_practices/form', local: {category: @order} %> 
        <h3 class="splash-header">View Best Practice</h3> 
        <ul> 
         <% BestPractice.with_category("Order Fulfillment").each do |bp| %> 
         <li><%= link_to bp.title, best_practice_path(bp) %></li> 
        <% end %> 
        </ul> 
      </div> 
     </div> 
    </div> 

回答

0

的_form.html.erb需要簡單的使用category代替@category

爲了您company.html.erb,嘗試

<%= render 'best_practices/form', :category => @associate %> 

這將分配@associate:category變量,它可以把對方當作簡單category進行訪問。

0

裏面你_form部分,你需要引用categorycategory,不@category

此外,locallocals,我認爲你必須調用renderpartial鍵當地人通過,例如:

render partial: 'best_practices/form', locals: {category: @order} 
相關問題