嵌套数据库并使用数据

时间:2014-10-13 13:52:07

标签: ruby-on-rails database nested html-table

我是铁杆新手,实际上是第二周 - 我在一所学院,而且我已经撞墙了。

我有2个数据库,帖子和评论...评论belongs_to发布和发布has_many评论。

我已将我的最后10个帖子列入清单,并且我已经收到评论以列出其下方。

我的问题是我认为其中一个逻辑。我该如何调用数据,以便我的评论将在各自的帖子下列出?我想我已经接近了。我让他们列出了帖子,但他们列在错误的地方。我似乎无法弄清楚如何让他们到正确的地方。

如果你提供一个解决方案,请与我分享你的思考过程以获得答案。

我绘制了数字图表,我相信我发现当Post.user_id等于User.id我发布时(我认为这是对的,仍然有点困惑),应该什么时候放弃评论?

我的代码最初在帖子的index.html.erb中看起来像这样:

<tbody>
<% @posts.last(10).each do |post| %>
  <tr>
    <td><%= post.body %></td>
    <td><%= post.user_id %></td>
    <td><%= link_to 'Show', post %></td>
    <td><%= link_to 'Edit', edit_post_path(post) %></td>
    <td><%= link_to 'Destroy', post, method: :delete, data: { confirm: 'Are you sure?' } %></td>
  </tr>
<% end %>

<ul>
<h2> Followed Posts </h2>
<% current_user.followeds.each do |user| %>
  <% user.posts.each do |post| %>
    <li><%= post.body %> | <%= post.user_id %></li>
  <% end %>
<% end %>

<ul>
<h2> Comments </h2>
<% @posts.each do |post| %>
  <% post.comments.each do |comment| %>
    <li><%= comment.body %> <%= comment.id %> <%= comment.user_id %> <%= comment.post_id %></li>
  <% end %>
<% end %>

我现在一直在尝试这样的评论 - 它实际上是针对不同的项目而是相同的设置。我再次做了上述部分尝试解决问题并进行更多练习......我现在在同一个地方为两个项目都有相同的目标:

<ul>
    <% @user.posts.each do |post| %>
        <li>
            <%= post.title %><br>
            <%= post.body %><br>
        <!-- if there is a comment for a post - post it here -->
        <!-- if there is a comment for the Post_id, Output it here --> 
                <% post.comments.each do |comment| %>
                    <%= comment.body %> <%= comment.id %>
                    <br>
                <% end %>

        <div class="post-link"> 
        <%= link_to "Comment", new_post_comment_path(post) %> |
        <%= link_to "Edit", edit_post_path(post) %> |
            <%= link_to "Delete", post_path(post), method: :delete, data: { confirm: "Confirm you want to delete."} %> 
      </div>
  </li>
    <%end%>

我在代码中发表了一些我的思考过程 就像我说的那样,我认为我的逻辑有些不对劲,因为评论是在错误的地方。 虽然没有特别的模式。

输出是这样的:

4 最佳新PS4游戏 - post.title 我们的最后,战地4,刺客信条4,按此顺序。 - post.body

---许多评论最终在下面混乱 - comment.body和comment.id

它确实有效 是!应用?我喜欢应用程序! Nate 1的Nate评论3在这里发布2号更多太阳镜评论评论我自己的评论

4 高中很无聊 - post.title

我讨厌每天都去上学。我真正想做的就是尽可能长时间地睡觉,然后玩电子游戏。我想我有一天会成为一名专业的视频游戏玩家。有这样的事情,不存在。 - post.body

---许多评论混杂在下面 - comment.body和comment.id

太阳镜?刺客信条!狩猎很酷。我在佛罗里达州寻找过我也讨厌过


所以仍然试图澄清输出:

发布Post.body

但是,它可能会也可能不会发布应该分配给这篇文章的评论。

另一篇文章

引用此帖和其他人的评论最终会在这里结束。

另一篇文章

属于不同帖子的评论最终会在此处显示。 (所以每个评论都不应该是它的位置。也许我的循环没有正确设置在错误的地方,但我到目前为止已经尝试了很多以获得正确的输出)


好吧,我注意到评论,user_id和post_id都是1 1或2 2相同,是吗?

0 个答案:

没有答案