# 6/12 ポートフォリオレビュー会 ### githubのリポジトリ https://github.com/arata-t/archtips オンラインエディタで確認できるやつ https://github1s.com/arata-t/archtips ### サイトのURL http://archtips.tk/ # だいそん 外部キー制約がついてない。integerになってる。references型を使うべき https://github.com/arata-t/archtips/blob/255f308bdf0c24f6da8827b61491c1ea125a058c/db/schema.rb#L37 スタイルをもうちょいこだわった方がいいかも? png変換はどうやってやってる? → sidekiq, redis, active_job ユーザー編集のURLがおかしい http://archtips.tk/users/edit.1 ユーザーの退会やtipsの編集など、自分の以外のものも更新できてしまう ```ruby @tip = current_user.tips.find(params[:id]) ``` ruby2.6.5はセキュリティ的によろしくない https://www.ruby-lang.org/ja/news/2021/04/05/ruby-2-6-7-released/ testとspecがある。 ``` FactoryBot.create ↓ create ``` # naoki ## 使用感 - 姓 名 - tipsからの戻り方がわからない - 戻るボタンが欲しいです - `/users/edit.4` - urlがおかしい - 詳細検索に飛ぶと詳細検索欄が消えてしまう - `/tips/trend` - 画面の範囲内に収めると幸せになれると思います ## コード - _side_bar - labelを使うべきな気がします。 - `tip_tag_relations_tag_name_cont`の目的が知りたい - /views/tips/new について - new -> _new -> _new_edit となかなか深い階層をしている目的が知りたい - /javascript 以下に `/packs` の他に`/javascripts`を追加してソースをまとめた方がいいと思います。 - jqueryが二重でインストールされている - gitignore - Readme 76行目 ransac -> ransack ## いいと思ったこと - pdfで確認することができるのいいなと思いました。 - 全体的にコードが綺麗に整理されていて見やすい - コントローラーにメソッドが多いのが少し気になります # たいしろう - コントローラーで`find`を使った方が分かりやすいところがあります。 - ridirect_to はルーティングヘルパー使った方が楽そう。 - rspecではインスタンス変数より、letとかを使った方が良いと思います。 ```rb def show # 前 @comments = @tip.comments.includes(:user) .sort_by { |columun| columun.updated_at } .reverse # 後 @comments = @tip.comments.includes(:user) .sort_by(&:updated_at) .reverse # ともかける。rubocopに直される気がしてます。 end ``` → sort_byではなくorder ```rb def update @form = TipTag.new(tip_params, tip: @tip) tag_list = params[:tip][:name].split(',') if @form.valid? @form.save(tag_list) redirect_to root_path else render :edit end end ``` saveでもバリデーションは走ります! ``` def save(tag_list) return false if invalid? # もしくは return false unless valid? ```
×
Sign in
Email
Password
Forgot password
or
By clicking below, you agree to our
terms of service
.
Sign in via Facebook
Sign in via Twitter
Sign in via GitHub
Sign in via Dropbox
Sign in with Wallet
Wallet (
)
Connect another wallet
New to HackMD?
Sign up