初めてのRailsアプリ(その1)
railsubject_01
初めてのRailsアプリ(その1)
ようやくrailsがわかってきたので、それっぽいお題をこなしてみる。頑張る(´・ω・`)
はじめに
アプリ概要
Scaffold
rails generate scaffold subject name:string content:string
rails generate scaffold mail subject:references name:string address:string
rails generate scaffold upload subject:references name:string path:string
rails generate scaffold group name:string
rails generate model subject_group subject:references group:references
画面(subject#index)
1. has_manyアソシエーション
subjectとuploadの関係(1対多)を実装する。(mailも同じ要領なのでここでは割愛)
画面構成
変更点
scaffoldより以下の点を変更する。
config/routes.rb
uploadsのresoucesをsubjectsのresoucesの中に入れる。
モデル
has_manyおよびbelongs_toの関係を明記。
コントローラ(subject)
変更なし
コントローラ(upload)
uploadから親のsubjectヘ参照できるようにする。beforeフィルタを使い、@subjectを宣言。
@subjectを利用した@uploadの取得およびリダイレクトの設定を行う。
もうちょっと。(意外にに修正箇所は広範囲。やることは簡単なんだが。。。)
view(subject)
subject#showの中で、upload#indexを表示させるようにする
view(upload)
indexのeach対象を@uploadsから@subject.uploadsに変更。あとはリンク先の修正
完成形
終わりに
次にやりたいことは以下
- groupでhas_and_belongs_to_manyを実装する
- mailでメールを送る
- uploadでファイルをアップロードする