Closed10

Rails応用1

kurakura

ChatGPTに頼り切りだから、自分で調べながらやってみるか。

kurakura

エラーの発生条件を検証。
記事>テスト投稿>ブロック追加
下記は更新できた
・埋め込み(空)
・文章(空)
・メディア(画像あり)

kurakura

下記はエラー
・メディア(空)
プレビュー→ArgumentError in Admin::Articles::Previews#show
公開する →「エラーがあります。確認してください。」のフラッシュメッセージ
※公開する の方のエラーはメディアの方じゃなく、カテゴリーが未記入なことに対して出ている気がする

kurakura

デバッグ用のgem
【Rails】もっと早く知りたかったデバッグ用gem 'better_errors','binding_of_caller'

記事の中で紹介されている動画
プログラミング初心者歓迎!「エラーが出ました。どうすればいいですか?」から卒業するための基本と極意

gemfile

group :development do
  gem 'better_errors'
  gem 'binding_of_caller'
end

その後

bundle install

Dockerを使っている場合はもうひと手間必要らしい
app/config/environments/development.rb

BetterErrors::Middleware.allow_ip! "0.0.0.0/0"

上記コードを追記してサーバー再起動で動作するとのこと。
Gem 『Better errors』が動かないとき

kurakura

と思ったらすでにインストールされてた

  # Debugger
  gem 'better_errors'
  gem 'binding_of_caller'
  gem 'byebug'
  gem 'pry'
  gem 'pry-byebug'
  gem 'pry-doc'
  gem 'pry-rails'
kurakura

今回注目のslimも見受けられる

  # Code analyze
  gem 'brakeman', require: false
  gem 'bullet'
  gem 'reek'
  gem 'rspec_junit_formatter'
  gem 'rubocop'
  gem 'rubocop-checkstyle_formatter'
  gem 'rubocop-rails'
  gem 'scss_lint', require: false
  gem 'slim_lint'
kurakura

すでにslimが適用されているのか。
app/views/shared/_media_image.html.slim

ruby:
  medium = local_assigns[:medium]

.media-image
  = image_tag medium.image_url(:lg)
<% medium = local_assigns[:medium] %>

<div class="media-image">
  <%= image_tag medium.image_url(:lg) %>
</div>
このスクラップは2日前にクローズされました