タイトルの通りです。
modelは処理自体は何もないのでソースは載せません。
ruby
1#people_controller.rb 2 3class PeopleController < ApplicationController 4 5 def index 6 @msg = "社員一覧" 7 @data = Person.all 8 end 9 10 def show 11 @msg = "社員詳細" 12 @data = Person.find(params[:id]) 13 end 14 15 def add 16 @msg = "社員登録" 17 end 18 19 protect_from_forgery 20 21 def create 22 if request.post? then 23 obj = Person.create( 24 name: params['name'], 25 age: params['age'], 26 mail: params['mail'] 27 ) 28 end 29 redirect_to '/people' 30 end 31 32end
ruby
1#views->index.html.erb 2 3<h1>People#index</h1> 4<p><%= @msg %></p> 5<pre> 6 <table> 7 <tr> 8 <th>Id</th> 9 <th>Name</th> 10 </tr> 11 <% @data.each do |obj| %> 12 <tr> 13 <td><%= obj.id %></td> 14 <td><a href="/people/<%= obj.id %>"><%= obj.name %></a></td> 15 </tr> 16 <% end %> 17 </table> 18</pre>
ruby
1#views->show.html.erb 2 3<h1>People#index</h1> 4<p><%= @msg %></p> 5<pre> 6 <table> 7 <tr> 8 <th>Id</th> 9 <td><%= @data.id %></td> 10 </tr> 11 <tr> 12 <th>Name</th> 13 <td><%= @data.name %></td> 14 </tr> 15 <tr> 16 <th>Age</th> 17 <td><%= @data.age %></td> 18 </tr> 19 <tr> 20 <th>Mail</th> 21 <td><%= @data.mail %></td> 22 23 </tr> 24 </table> 25</pre> 26<a href="/people">社員一覧へ戻る</a>
ruby
1#views->add.html.erb 2 3<h1>People#index</h1> 4<p><%= @msg %></p> 5<table> 6 <form method="post" action="/people/add"> 7 <tr> 8 <th>Name</th> 9 <td><input type="text" name="name"></td> 10 </tr> 11 <tr> 12 <th>Age</th> 13 <td><input type="text" name="age"></td> 14 </tr> 15 <tr> 16 <th>Mail</th> 17 <td><input type="text" name="mail"></td> 18 19 </tr> 20 <tr> 21 <th></th> 22 <td><input type="submit"></td> 23 </tr> 24 </form> 25</table>
これでDB登録はできます。
http://0.0.0.0:3000/people/addは手打ちでやっていて面倒だと思い、下記を追加しました。
ruby
1#views->index.html.erb 2 3<h1>People#index</h1> 4<p><%= @msg %></p> 5<pre> 6 <table> 7 <tr> 8 <th>Id</th> 9 <th>Name</th> 10 </tr> 11 <% @data.each do |obj| %> 12 <tr> 13 <td><%= obj.id %></td> 14 <td><a href="/people/<%= obj.id %>"><%= obj.name %></a></td> 15 </tr> 16 <% end %> 17 </table> 18</pre> 19 20#下記を付け足した。 21<a href="/people/add">社員登録</a>
リンクして登録しようとするとindexへ遷移するわけでもなく登録ができません。
エラーが出ているわけでもなさそうです。
add画面でcommand+Rでブラウザの再読み込みをすると何故か登録できます。
どうすれば再読み込みせずに普通に登録できるように成るのでしょうか?
回答1件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。