
Ruby on Rails 5アプリケーションプログラミング
- 作者: 山田祥寛
- 出版社/メーカー: 技術評論社
- 発売日: 2017/04/14
- メディア: 大型本
- この商品を含むブログを見る
序文
「Ruby on Rails 5 アプリケーションプログラミング」学習23日目。
新章突入。
GitHub
進捗
- 第6章 モデル開発
- 6.1 リクエスト情報
(学習時間:4時間)
- 6.1 リクエスト情報
実行結果
感想
今日から6章、コントローラーについての学習。
2時間で終わらせるつもりだったのだけど、アップロード処理の振る舞いがよくわからなくて時間がかかってしまった。
モデルで定義されてるここがよくわかんないんだよねぇ。
↓/app/models/artist.rb
# 'data='がメソッドの名前。 # Rubyでは代入可能なメソッドをこのように定義する # data = XXX という記法で呼び出すことができる # よくわからんが、 # @artist.update(params.require(:artist).permit(:data)) # でこのメソッドが呼び出されている def data=(data) # pp ('data=呼び出し') self.ctype = data.content_type self.photo = data.read end
これ=がついてるから、'data'っていうメソッドについてなんかのデフォルト値を設定しているのかと思ったら、どうも'data='まででメソッド名のようだ。
こういう書き方をすることで直接代入ができるらしい。
defキーワードがついてるからメソッドを定義しているってことで間違いないと思うんだけど、書籍によるとここでdataプロパティを定義しています。
みたいなことを書いてるからさらに?????となっている。
実際にはコントローラーのpermitメソッドから:dataシンボルを経由して呼び出されているみたいだから、さらに分かりにくい。
まぁ丸写しでなんとか動くものは作れるような気がするからいいかな…。
カロリーメイトください。
BGM
One life / Zeleive
www.youtube.com
コード実装部分
GitHub見てね
github.com