値の検証-02 flash
/controller/main_controller.rb
def new @member = Member.new(params[:member]) if @member.save flash[:notice] = '登録が完了しました。' render :action => 'show',:id => @member.id else render :action => 'create' end end
/show.rb
<%= h(flash[:notice]) %></p> id:<%= @member.id %></p> 名前:<%= @member.name %></p> email:<%= @member.email %></p>
verify
create,update,destroyのアクションの呼び出しをpostメソッドに制限します。
/controllers/main_controller.rb verify :only => [:new, :update],:method => :post, :redirect_to => {:action => :index}
DBのCRUD-06(Delete)
/main/destroy/***
(数字)にて削除できるようにする。
/main_controller.rb
def destroy @member = Member.find(params[:id]) @member.destroy end
こちらのみで削除できているはずである。
DBのCRUD-05(upload)修正
/views/main/edit.rhtml
<% form_for :member, @member, :url => {:action => 'update',:id => @member} do |form|%> 名前:<%= form.text_field :name %></p> email:<%= form.text_field :email %></p> <%= submit_tag '更新' %> <% end %>
/app/controller/main_controllers.rb
def edit @member = Member.find(params[:id]) end def update @member = Member.find(params[:id]) @member.attributes = params[:member] @member.save end
エラーがでるが、更新はできているはず。
DBのCRUD-04(show)
/main/show/***
(番号)でレコードをshowできるようにする。
/app/controllers/main_controller.rb
def show @member = Member.find(params[:id]) end
/views/main/show.rthml
名前:<%= @member.name %></br> email:<%= @member.email %>
DBのCRUD-03Create(create,new)
/main/create.rhtml
<% form_for :member, @member, :url => {:action => 'new',:id => @member} do |form|%> 名前:<%= form.text_field :name %></p> email:<%= form.text_field :email %></p> <%= submit_tag '更新' %> <% end %>
/app/controller/main_controller.rb
def new @member = Member.create(params[:member]) end
確認
mysql>select * from member
エラーがでるが、対処方法は、別途。