首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >当前用户信息显示在所有配置文件Ruby on Rails上

当前用户信息显示在所有配置文件Ruby on Rails上
EN

Stack Overflow用户
提问于 2017-07-31 11:41:19
回答 2查看 96关注 0票数 0

因此,我正在制作一个社交媒体网站,在那里用户可以加入活动并相互竞争。

每次用户加入活动时,他的个人资料上都会显示一个状态。问题是,当我查看其他用户配置文件时,状态正好与当前用户的身份相匹配。

如果有人能帮我写一些代码,为每个用户显示不同的状态,那就太好了。我知道这个问题听起来有点模糊。

我只需要知道一种方法来查看帖子只基于我正在查看的个人资料,而不是当前用户。谢谢!

代码语言:javascript
复制
<div class="center">
  <div class="col-xs-6">
    <div class="panel panel-default">
      <div class="panel-body">
        <% if !@user_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>
EN

回答 2

Stack Overflow用户

发布于 2017-07-31 16:48:03

首先,在视图中查询数据库是非常糟糕的。请将<%= User.find_by_username(params[:id]).username %>中的表达式移到您的控制器中,然后使用实例变量显示用户名。

如果你也提供你的控制器代码,那就太好了。我想你应该根据你通过params:id找到的用户来选择用户事件。

票数 0
EN

Stack Overflow用户

发布于 2017-08-01 22:00:00

没有控制器,就很难帮上忙了。但是我建议在用户控制器上尝试一些东西,比如

代码语言:javascript
复制
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

因此,如果您希望保持代码的大部分内容不变,则需要首先找到想要获取事件的用户,然后获取该特定用户的状态

另外,提供一些关于DB模式的信息可能会有所帮助

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/45407145

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档