2017-07-31 81 views
0

因此,我正在製作一個社交媒體網站,用戶加入活動並相互競爭。當前用戶信息顯示在所有個人資料上Ruby on Rails

每次用戶加入活動時,其個人資料中都會顯示一個狀態。問題在於,當我查看其他用戶配置文件時,狀態與當前用戶的身份匹配。

如果有人可以幫我寫一些代碼,以顯示每個用戶的不同狀態,那將是非常好的。我知道這個問題可能聽起來有點模糊。

我只需要知道一種方式來根據我查看哪個配置文件而不是當前用戶來查看帖子。謝謝!

<div class="center"> 
    <div class="col-xs-6"> 
    <div class="panel panel-default"> 
     <div class="panel-body"> 
     <% if [email protected]_events.present? %> 
      <h4>Hi <%= User.find_by_username(params[:id]).username %>, thanks for joining!</h4> 
      <h4>Join events, complete them, and compete</h4> 
     <% end %> 

     <% @user_events.each do |ue|%> 
      <% if ue.event.present? %> 
      <h4 class="blue"> 
       <%= User.find_by_username(params[:id]).username %> 
      </h4> 
      <% userevent = User.find_by(params[:event]) %> 
      <p>I'm going to <%= link_to ue.event.title %>.</p> 
      <% if ue.hours.present? %> 
       <h5> Completed Hours: <%= ue.hours %> </h5> 
      <% end %> 
      <% if ue.hours.present? %> 
       <img src="#" style="width: 10%;" alt=""> 
      <% end %> 
      <% end %> 
     <% end %> 
     </div> 
    </div> 
    </div> 
</div> 
+0

您可以添加控制器嗎? –

回答

0

首先,查看視圖內的數據庫非常困難。請將<%= User.find_by_username(params[:id]).username %>中的表達式移到您的控制器中,然後使用實例變量顯示用戶名。

如果你也提供了你的控制器代碼,那將會很棒。我想你應該選擇用戶事件,具體取決於你通過params [:id]找到的用戶。

0

沒有控制器,這有點難以幫助。不過,我會建議嘗試像

def get_status_by_user 
    user_id = params[:user_id] 
    user = User.find_by(id: user_id) 
    user.event 
end 

其中params[user_id]是你想要得到的事件興田用戶的ID的用戶控制器上的東西。

而且我所看到的是<% userevent = User.find_by(params[:event]) %>你不指定用戶,這樣的方法將返回最後一個

找到的第一個記錄符合指定條件。

Find_by docuemntaion

所以,如果你想保持你的代碼主要是因爲它是你需要先找到你想要得到的事件,然後獲取狀態爲特定用戶

而且用戶給出關於數據庫模式的一些信息可以幫助您添加控制器嗎?

相關問題