保华的Rails学习笔记

后台看曾经发表的文章、以及参加的群组知识点提取

rails101第8小节的知识点提取
1、仅创建controller并没有创建相应的model就实现了看用户发表的文章以及参加的群组功能
2、创建了controller,都会有相应的view页面,在controller(负责拿数据)中写好数据的来源,然后在view页面中调用
例如controller中这样写:

def index
    @groups = current_user.participated_groups
  end

它实现的就是把现在登录的用户所参与的群组都捞出来,然后赋值给@groups,在view页面中,通过@groups来调用这些数据,显示出来。
例如view页面中(index.html.erb)

<% @groups.each do |group| %>
      <tr>
        <td>#</td>
        <td><%= group.title %></td>
        <td><%= group.description %></td>
        <td><%= group.posts.count %></td>
        <td><%= group.updated_at %></td>
      </tr>
    <% end %>

通过each do就把groups的数据显示出来

3、创建的contrller是在account目录下,所以在routes.rb中,用到了namespace
4、在调用我发表的文章中,修改与删除的路径,用到了两个参数,一个参数是group,一个是post
代码如下:

<td> <%= link_to('Edit', edit_group_post_path(post.group, post), class: "btn btn-default btn-xs") %></td>
          <td> <%= link_to('Delete', group_post_path(post.group, post), method: :delete, data: { confirm: "Are you sure?" }, class: "btn btn-default btn-xs") %></td>

括号中第一个参数post.group,是找出文章所属的群组group,第二个参数post,是要修改(或者删除)的文章的post_id,可以用rake routes查看:


所以一定要两个参数都写上。