rails 独学して軽くにちゃんまとめつくる

インターン中大学生のブログ

ぐるぐる回って何をしたいのかが変わってく。今はマッチングサイトを作りたい、もしくは論文のキュレーションサイトかな。

(index)一覧画面

これといった特徴は、ページネーション機能を付けるのと、偽ユーザーの作成、パーシャルの使用くらいかな。あとは scaffolding どおりに忠実に実行すればいい。

 

gemの準備

gem 'will_paginate',           '3.1.0'
gem 'bootstrap-will_paginate', '0.0.10'
gem 'faker'

bundle install

その後一度webサーバーを再起動させる。

 

 

 

コントローラー

def  index
    @users = User.paginate(page: params[:page])
 end

 

ビュー

 <% provide(:title, 'All users') %>
<h1>All users</h1>

<%= will_paginate %>
<ul class="users">
  <%= render @users %>
</ul>

<%= will_paginate %>

 

パーシャル

views/users/_user.html.erb

<li>
     <%= gravatar_for user, size: 50 %>
     <%= link_to user.name, user %>
 </li>

 

 

css

/* Users index */

.users {
  list-style: none;
  margin: 0;
  li {
    overflow: auto;
    padding: 10px 0;
    border-bottom: 1px solid $gray-lighter;
  }
}

 

 

 

 

偽ユーザーの作成

 

db/seed.rb

User.create!(name:  "name",
             email: "foo@bar.com",
             password:              "foobar",
             password_confirmation: "foobar")
)
99.times do |n|
  name = Faker::Name.name
  email = "example-#{n+1}@sample.com"
  password = "password"
  User.create!(name:  name,
               email: email,
               password:              password,
               password_confirmation: password)
end

 

その後コマンドライン

rails db:migrate:reset

rails db:seed