当潜在用户正在编辑他们的个人资料时,他们可以选择在公共视图中显示/隐藏某些信息。我用
做到了<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>
来自
<%= f.fields_for :contacts do |l| %>
<%= render 'contacts_show', f: l %>
<% end %>
但它不起作用。我尝试了很多变化,但这一切都归结为猜测正确的语法。如何仅显示那些可见性标记为&#34; true&#34;?
的条目答案 0 :(得分:0)
为什么要将公开个人资料显示为表单?如果您只想显示信息,可以迭代联系人类型可见的用户的联系信息。
答案 1 :(得分:0)
我通过使用不同的方法解决了它。在我的用户控制器中,我定义了一个实例变量@visible,并将由可见参数设置为true的所有数据库条目组成的数组传递给它。然后我在视图中使用@ visible.each来打印所需的内容。