2013-12-14 1 views
1

그래서 사용자 프로필을 가진 웹 앱을 만들었습니다. 사용자 프로필을 통해 사용자가 관심 분야 등을 기준으로 동료 사용자를 검색 할 수 있습니다. 프로필의 특정 영역을 채우십시오. 즉, 나에 대한 정보가 비어있을 수 있습니다. 그렇다면 사용자가 작성한 프로파일의 내용 만 볼 수있는 기능을 어떻게 추가 할 수 있습니까? 즉, 완료되지 않은 다른 사용자 프로필의 부분을 볼 수 없습니다.작성된 프로필의 내용 만 볼 수있는 기능

user_profile.html.erb

<%= render "shared/header" %> 

<div id="landing_welcome_page"> 
    <div class="container"> 
    <div class="row"> 

     <%#= Profile image upload %> 
     <div class="span4"> 
     <%= user_avatar(current_user) %> 
     <%#= Space w line %> 
     <div class="name"></div><br> 

     <%#= Please bare in mind these are strickly temporary placeholders i.e whitespace %> 
     <%= render 'social' %> 
     </div> 

     <div class="span8"> 
     <%# User name %> 

      <span class="name1"> 
      <% if current_user.first_name.blank? %> 
      <%= current_user.first_name.present? ? current_user.first_name : link_to('Finish your profile', edit_account_path)%> 
      <% else %> 
      <%= current_user.first_name %> <%= current_user.last_name %> 
      <% end %> 
      </span> 
      <span class="side-buttons"> 
     <div class="name"></div> 
      </span> 
     </span> 
     </div> 

     <div class="row"> 
     <br /> 
     <div class="span6"> 
      <%# User occupation %> 
      <i class="fa fa-usd"></i>: 
      <%= best_in_place current_user, :occupation, nil: 'Add occupation' %> 
     </div> 

     <div class="addy"> 
      <div class="span2"> 
      <%# User address %> 
      <i class="fa fa-home"></i>: 
      <%= current_user.address.present? ? current_user.address : link_to('Add Address', edit_account_path) %> 
     </div> 
     </div> 

     <div class="span6"> 
     <%# User gender %> 
    <br /> 
     <% if current_user.gender == "M" || "male" %> 
     <i class="fa fa-male"></i> Male 
     <% else %> 
     <i class="fa fa-female"></i> Female 
     <% end %> 
     </div> 

     <div class="span2"> 
     <!-- Code to calculate age by user birthday --> 
    <br /> 
     Age: <%= user_birthday %> 
     </div> 

     <div class="span8"></div> 

     <div class="span8"><div class="name"></div></div> 
     <div class="span8"> 
     <div class="tabbable"> <!-- Only required for left/right tabs --> 
      <ul class="nav nav-tabs"> 
      <li class="active"><a href="#tab1" data-toggle="tab">About me</a></li> 
      <li><a href="#tab2" data-toggle="tab">Photos</a></li> 
      <li><a href="#tab3" data-toggle="tab">Personality</a></li> 
      </ul> 
      <div class="tab-content"> 
      <div class="tab-pane in active" id="tab1"> 
       <% @questions_for_about.each_with_index do |question, index| %> 
       <div class="question"> 
       <h4 class="user_questions"> 
        <%= index + 1 %>. <%= question.question %> 
        <%= link_to ("<i class='icon-edit'></i>".html_safe), 
        edit_user_question_path(current_user, question), 
        remote: true, class: "edit_link_#{question.id}" %> 
       </h4> 
       <div class="answer" id="answer_<%= question.id %>"> 
        <%= answer_for(question) %> 
       </div> 
       </div> 
       <% end %> 
      </div> 
      <div class="tab-pane" id="tab2"> 
       <div class="page-header"> 
       <%= form_for Photo.new do |f| %> 
       <span class="btn btn-success fileinput-button"> 
        <i class="icon-plus icon-white"></i> 
        <span>Add photos...</span> 
        <%= f.file_field :file, multiple: true, name: "photo[file]" %> 
       </span> 
       <% end %> 
       <div class="clearfix"></div> 
       </div> 
       <div class="photos_cont"> 
       <div class="col-sm-6 col-md-3"> 
        <span class="gallery"><%= render current_user.photos %></span> 
       </div> 
       </div> 
      </div> 
      <div class="tab-pane" id="tab3"> 
       <% @questions_for_personality.each_with_index do |question, index| %> 
       <div class="question"> 
       <h4 class="user_questions"> 
        <%= index + 1 %>. <%= question.question %> 
        <%= link_to ("<i class='icon-edit'></i>".html_safe), 
        edit_user_question_path(current_user, question), 
        remote: true, class: "edit_link_#{question.id}" %> 
       </h4> 
       <div class="answer" id="answer_<%= question.id %>"> 
        <%= answer_for(question) %> 
       </div> 
       </div> 
       <% end %> 
      </div> 
      </div> 
     </div> 
     </div> 
    </div> 
    <%= render '/shared/footer' %> 
    </div> 
</div> 

<script id="template-upload" type="text/x-tmpl"> 
<div class="upload"> 
{%=o.name%} 
<div class="progress"><div class="bar" style="width: 0%;"></div></div> 
</div> 
</script> 
<script> 
var fb_param = {}; 
fb_param.pixel_id = '6009056882201'; 
fb_param.value = '0.00'; 
(function(){ 
    var fpw = document.createElement('script'); 
    fpw.async = true; 
    fpw.src = '//connect.facebook.net/en_US/fp.js'; 
    var ref = document.getElementsByTagName('script')[0]; 
    ref.parentNode.insertBefore(fpw, ref); 
})(); 
</script> 

<noscript> 
    <img height="1" src="https://www.facebook.com/offsite_event.php?id=6009056882201&amp;value=0" style="display:none;" width="1"/> 
</noscript> 
<script type="text/javascript"> 
// remove default datepicker event 
jQuery(document).off('best_in_place:datepicker'); 

jQuery(document).on('best_in_place:datepicker', function(event, bip, element) { 
    // Display the jQuery UI datepicker popup 
    jQuery(element).find('input') 
    .datepicker({ 
    format: element.data('date-format') 
    }) 
    .on('hide', function(){ 
    bip.update(); 
    }) 
    .on('changeDate', function(){ 
    $(this).datepicker('hide'); 
    }) 
    .datepicker('show'); 
}); 
</script> 
+0

이 질문은 거의 한 달 전에 요청되었습니다. 제공된 답변을 검토 할 기회가 있었습니까? – zeantsoi

답변

1

당신이 정보 블록을 포함하는 전체 div 충당하기 위해 확장 할 수 있습니다 가지고있는 조건문. 예를 들어

:

<div class="addy"> 
     <div class="span2"> 
     <%# User address %> 
     <i class="fa fa-home"></i>: 
     <%= current_user.address.present? ? current_user.address : link_to('Add Address', edit_account_path) %> 
    </div> 
</div> 

이 주소가없는 경우

<div class="addy"> 
    <% if current_user.address.present? %> 
     <div class="span2"> 
     <%# User address %> 
     <i class="fa fa-home"></i>: 
     <%= current_user.address %> 
     </div> 
    <% else %> 
    <%= link_to('Add Address', edit_account_path) %> 
    <% end %> 
</div> 

이 그 다음은 링크를 표시 할 수 없습니다.

0

제대로 된 것 같습니다. 당신은 계속 사용할 수 있습니다,

<span class="name1"> 
    <% if current_user.first_name.blank? %> 
     <%= link_to('Finish your profile', edit_account_path) %> 
    <% else %> 
     <%= current_user.first_name %> <%= current_user.last_name %> 
    <% end %> 
</span> 

다른 방법 : 기본적으로, 당신은/숨기기를 표시 할 User 모델의 모든 사용자 속성에 대해, 당신은 current_user에 속성이 present? 여부를 평가하는 조건을 추가 할 수 있습니다

<%= current_user.address.present? ? current_user.address : link_to('Add Address', edit_account_path) %> 
관련 문제