LotosLabo

プログラミング技術とか気になった情報を載せていきます

Ruby on Rails 4.0について5

フォームを作成していきます。
フォームの主な機能として、テキストボックスに値を入力して、ボタンを押すと
TOP画面にその項目が追加されるようにします。

フォームの作成

app/assets/views/projects/index.html.erb を編集していきます。


f:id:lo25131:20140221200950j:plain

という風に編集します。

ブラウザで確認すると下にAdd newという項目を作成します。
これをクリックすると新規作成フォームにつながるようにします。

f:id:lo25131:20140221201028j:plain



app/assets/controllers/projects_conteroller.rb を編集します。

f:id:lo25131:20140221201344j:plain


ここでリンクが飛ぶ働きを表します。


そして最後に

app/assets/views/projects/new.html.erb というのを作成します。


ここではAdd newを押した後の飛ぶページのレイアウトをしています。


f:id:lo25131:20140221201608j:plain



f:id:lo25131:20140221201622j:plain



とりあえずここまで作成しました。


次にデータを入力し、保存する処理を行っていきます。


データ保存処理


projects_controller.rb を編集します。


f:id:lo25131:20140221202144j:plain

このやり方は4.0からの方法でそれ以下の方法とは異なります。
ちょっと長いのですが、セキュリティ上しょうがないみたいです。


コレを追加しますと、保存できるようになります。

二つほど項目を追加してみました。


f:id:lo25131:20140221202246j:plain



Validationの設定


Validationとは項目のルールをつけることです。
例えばテキストボックスの値が空ならエラーを出すとかいうことです。


今回は models/project.rb というのを編集していきます。

f:id:lo25131:20140221203021j:plain



validationはセーブされた時に発動します。


次に projects_controller.rb を編集します。
こちらではうまくセーブされた時にTOP画面に移動し、出来なかった時はそのままにするようにしています。

f:id:lo25131:20140221203746j:plain



エラーメッセージを表示させる


続いてエラーメッセージを表示させる処理をします

new.html.erb を編集します。


f:id:lo25131:20140221203920j:plain


エラーメッセージは変えることができるので、変えていきます。


models/project.rb を編集します。


f:id:lo25131:20140221204221j:plain


文頭に

#coding: utf-8  

というのを入力しないと日本語を表示できなく、エラーになってしまうので
必ず入力します。


ここではテキストボックスを空で入力すると 「入力してください」と表示させ
3文字未満だと「短すぎます」とメッセージを表示させます。

ここまで完了したらブラウザで確認します。


まず空のままボタンを押すと…


f:id:lo25131:20140221204736j:plain


次に3文字未満だと…


f:id:lo25131:20140221204750j:plain