最近Rubyを使った開発を始めたので、周辺も含め学んだことを色々とまとめていきます。
ルーティングと.erbファイルの関係性
URLのリクエストをroutes.rbでコントローラのアクションに割り当てて、コントローラで定義されているアクション名を元にしてどのviewを起動し、erbファイルを実行してHTMLを生成するかを決めています。
例えば、
root 'users#index'
の場合は
def index
@users = User.all
end
にルーティングされ、
app/views/users/index.html.erbが実行されてHTMLとして表示されるようになリます。
つまり省略されているが、アクション名=view名(erbファイル名)となっています。
unless文
ruby特有というわけでは無いですが、今まで使ったことがありませんでした。
if文は「条件式が真の場合に実行する処理」を書きますが、unless文はその逆です。
unless 条件式
条件式が偽の場合に実行する処理
else
条件式が真の場合に実行する処理
end
CSS:指定した箇所を非表示にする
CSSで display: none; を使うことで、その部分を非表示にできます。
<p class="code1">表示する</p>
<p class="code2">表示しない</p>
.code2{
display: none;
}
.erbのクラス内でif文を書く
<div class="form1 <%= "form2" if @user.name='たかし' =%>">
userの名前が「たかし」なら、form2が適用されます。
下記の記事を参考にしました。
コードが意図した通りに動かない時にやってみること
ログを仕込んで、処理が通過している部分やデータの中身を確認することが大切だと学びました。また、そもそもコード自体が間違っている可能性を考えることも必要です。
競合の解決
プルリクを出した際の競合を解消しました。
ブランチA→ブランチBにマージしようとして競合した場合
ローカルブランチでの作業になります。
まず、ブランチAに移動します。
続いてブランチBをpullします。
競合している箇所が表示されるので、解消させます。
その後は、いつも通りコミットしてpushします。
今回発生した競合は簡単なものでしたが、基本は掴めたのではないかと思います。
おわりに
Rubyの開発で学んだことを色々と記しました。開発と一口に言っても様々な要素が折り重なっていて、日々知識不足・勉強不足を痛感しています。
今後も学んだことがあれば、随時追記していきたいです。
この記事が参考になると嬉しいです( ̄▽ ̄)