Ruby on rails 在rails中偏爱用户配置文件

Ruby on rails 在rails中偏爱用户配置文件,ruby-on-rails,ruby,ruby-on-rails-4,Ruby On Rails,Ruby,Ruby On Rails 4,因此,我创建了一个具有用户配置文件的web应用程序,用户可以根据兴趣等搜索其他用户。。我如何添加一个功能,用户可以在其中收藏个人资料?也就是说,用户A找到用户B并喜欢他们看到的内容,然后可以单击“最喜欢的此配置文件”按钮,也许它已加上星号并存储?这段代码是什么样子的?只是一个想法,但我愿意接受所有想法 user\u profile.html.erb <%= render "shared/header" %> <div id="landing_welcome_page">

因此,我创建了一个具有用户配置文件的web应用程序,用户可以根据兴趣等搜索其他用户。。我如何添加一个功能,用户可以在其中收藏个人资料?也就是说,用户A找到用户B并喜欢他们看到的内容,然后可以单击“最喜欢的此配置文件”按钮,也许它已加上星号并存储?这段代码是什么样子的?只是一个想法,但我愿意接受所有想法

user\u 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>



: :
男性 女性
年龄:
. 添加照片。。。 . {%=o.name%} var fb_param={}; fb_param.pixel_id='6009056882201'; fb_参数值='0.00'; (功能(){ 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); })(); //删除默认日期选择器事件 jQuery(document).off('best_in_place:datepicker'); jQuery(document).on('best_in_place:datepicker',函数(事件、bip、元素){ //显示jQuery UI日期选择器弹出窗口 jQuery(element.find('input')) .日期选择器({ 格式:element.data('date-format') }) .on('hide',function()){ 更新(); }) .on('changeDate',function(){ $(this.datepicker('hide'); }) .日期选择器(“显示”); });
创建一个与用户有很多关系的收藏模型

创建收藏夹模型并建立关系后,可以执行以下操作:

@user.favorites = [ user1, user2, user3 ]
@user.favorites << user4
@user.favorites=[user1、user2、user3]

@user.favorites非常感谢@Donovan,是否愿意在您的回答中进一步说明模型创建后该功能将如何工作?当然可以,但如果您不熟悉,我建议您阅读rails指南中的内容。
<%= @user.favorites.map(&:name).to_sentence %>