2014-03-13 70 views
2

當潛在用戶正在編輯其配置文件時,他們可以選擇顯示/隱藏公共視圖中的某些信息。我這樣做,與基於複選框狀態的空調

<div class="field"> 
    <%= f.text_field :contact %> 
    <%= f.select(:contact_type_id, ContactType.all.map {|l| [l.name, l.id]}) %> 
    <%= f.check_box :visible %> 
    <%= f.label :visible, "Vidljivo" %> 

    <%= f.link_to_remove "Izbriši kontakt" %> 
</div> 

在部分這就是所謂的在這樣的觀點

<%= f.fields_for :contacts do |l| %> 
    <%= render 'contacts_form', f: l %> 
<% end %> 

我現在想要的是一個公開的個人資料頁上只有信息顯示用戶標記爲可見,和我嘗試了通過不同的局部

<div class="field"> 
    <% if :visible == true %> 
     <%= f.text_field :contact %> 
    <% end %> 
</div> 

稱爲210

但它不起作用。我嘗試了很多變體,但都是爲了猜測正確的語法。如何僅顯示那些可見性標記爲「真」的條目?

回答

0

爲什麼您將公開個人資料顯示爲表單?如果您只想顯示信息,則可以遍歷聯繫人類型可見的用戶的聯繫人信息。

+0

我正在使用nested_form_for(@user),因此rails自動收集屬於當前用戶的那些數據庫條目。我認爲這比手動搜索數據庫更實用。 – Fisteon

0

我用不同的方法解決了這個問題。在我的用戶控制器中,我定義了一個實例變量@visible,並將包含所有具有可見參數設置爲true的數據庫條目的數組傳遞給它。然後,我在視圖中使用@eyeeach來打印所需的內容。