演習課題「投稿一覧と詳細画面に、Userモデルのnameカラムを表示する」
右の環境には、「myblog」プロジェクトに「talk」という1行掲示板が作成されています(user_idとcontentというカラムを持っています)。また、ユーザー認証構築用にdeviseを導入して、「User」というモデルを作成し、talkと関連付けてあります。
このUserモデルに、nameカラムを追加したので、投稿一覧と詳細画面で、user_idの代わりにUserモデルのnameカラムを表示してください。
採点して、すべてのジャッジに正解すれば、演習課題クリアです!
#06:掲示板にユーザー名を表示しよう
ここでは、1行掲示板のナビゲーションと投稿一覧に、Userモデルのnameカラムを表示しましょう。
app/views/layouts/application.html.erb<% if user_signed_in? %>
Logged in as <strong><%= current_user.name %></strong>.
<%= link_to "Settings", edit_user_registration_path, :class => "navbar-link" %> |
<%= link_to "Logout", destroy_user_session_path, method: :delete, :class => "navbar-link" %>
<% else %>
<%= link_to "Sign up", new_user_registration_path, :class => 'navbar-link' %> |
<%= link_to "Login", new_user_session_path, :class => 'navbar-link' %>
<% end %>
views/articles/index.erb.html<table>
<thead>
<tr>
<th>Name</th>
<th>Content</th>
<th colspan="3"></th>
</tr>
</thead>
<tbody>
<% @articles.each do |article| %>
<tr>
<td><%= article.user.name %></td>
<td><%= article.content %></td>
<td><%= link_to 'Show', article %></td>
<td><%= link_to 'Edit', edit_article_path(article) %></td>
<td><%= link_to 'Destroy', article, method: :delete, data: { confirm: 'Are you sure?' } %></td>
</tr>
<% end %>
</tbody>
</table>
views/articles/show.erb.html<p>
<strong>User:</strong>
<%= @article.user.name %>
</p>
- [devise にusername カラムを追加し、usernameを登録できるようにする。 - Qiita]
https://qiita.com/yasuno0327/items/ff17ddb6a4167fc6b471
- [初めてのdevise ② -- カラムを追加してみる -- ~ やってみようカスマイズ! ~ - Qiita]
https://qiita.com/uloruson/items/40154b4be19d1ac900f3
- [Railsのログイン認証gemのDeviseのカスタマイズ方法 - Rails Webook]
http://ruby-rails.hatenadiary.com/entry/20140804/1407168000
- [if: :devise_controller?がわかった! - Qiita]
https://qiita.com/kazukisu3/items/7f60574379dcce0422b1
- [Rails の認証プラグイン Devise での Strong Parameters について | EasyRamble]
http://easyramble.com/strong-parameters-on-rails-devise.html