keidaroo’s diary

底辺系競プロer

railsメモ

こんにちは
一ヶ月ほど前(かな?)からrailsをやり始めたので、テストも終わったことだしメモを書きます
f:id:keidaroo:20180218154448p:plain

とりあえず一ヶ月間触った感想

すごい便利だなあと思いました、作業を省けるところはrailsがやってくれるし、うれしかったですが、なるべく基礎から学びたかったのでscaffoldとかはつかいませんでした
あと楽しいです、フロントも組み立てる必要があるのですが(webアプリなので)それに比べたら圧倒的に楽しいです。

ファイル構造について

今まで使ったのは
/app

  • /assets
  • /controllers
  • /views

/config

  • /routes.rb

/db
です(インデントの付け方がわからず見難くて申し訳ないです)

assetsについて

ここには画像やJSやCSSをおきます。
CSSとかどこにおいてもいいじゃん」とか思っていましたが、本番環境では通用しないようです。(こわいね)
ちなみにこの辺のディレクトリは
/assets/stylesheetsとかでいけます。

controllerについて

ここで大体の処理を書きます。
今のところの印象ですが、だいたい関数に書くイメージがあります
できること(いままでやったこと)

  • 一般的な処理(ふつーのプログラミングをrubyで書ける)
  • 値の受け取り(今まで使ったのは、例えば/user/0とあったら0を読み込むとか、formから値を受け取るとか)
  • 移動(リンクの移動、htmlの描画)

ですね、大体ここが大事です。
要は、ここでRubyが書けるよ★ガンバルビィ(ここで例の黒澤ルビィの画像が入る)

formについて

formは割と躓くところが多かったのでメモします

formの関数的なもの
  • = form_for @user, :url => {:controller => 'user_show', :action => 'update'} do |f|

(controllerのほうで@user=User.newとしてuserを宣言していることが前提です)
これは、@userという変数にいれ、(@というのはグローバル変数だよってこと)、controllerはuser_showっていうもの、アクションは適当な名前(多分処理後の関数名のほうがいいのかな?)にし、for i in 0..5 |f|のような感じでfにいろいろ動作させるとうまくいくよ、的な感覚で行っています(雑ですみません(実は深くまでは理解していない)
これが終わると、postといって受け取った値を渡す作業に入ります。routes.rbでpost 'user_show/update'=>'user_show#update'のようにしましょう(中身の名前は変えてください)

views

ここでhtml書けます。
htmlも、Rubyの場合はhtml.erbとかいってscssのhtml版のruby(つまりhtmlだけどruby書ける)みたいなのがあります
railsで初めてhtmlというニセプログラミング言語に触れたのですが、なんか吐き気しかしません。
無駄なところ多いし、無駄な割には可読性ないし、最悪です。
twitterにいる方からのおすすめでhamlを使い始めて、今はそれで落ち着いてます()

routes.rb

ここでリンクと処理の組み立てができます。
例:/user/0ってやったら0がidのuserを表示的な
あと先ほどお伝えしたようにpostなど値の受け渡しができます

db

データベースの処理は大抵ここでかきます、passwordとかの暗号化もBCrypt先輩のお力によってできたのですが、

いつか暗号化も自分で実装したい!!w

です。
がんばります!