[解決済み] nil:NilClass の未定義メソッド `each' - しかし、なぜ?
2022-02-11 12:12:41
質問
サーバーの状態がupかdownかをチェックするrubyアプリを作りたいのですが。 後で私は多様な構文で方法を見つけるために私のjsonパスを適合させる方法を見つけるでしょう。しかし、今のところ、私は汚い "undefined method `each' for nil:NilClass" で立ち往生しています。
コントローラにPingを打ちます。
def index
@pings = Ping.all
end
def new
@service = Ping.new
end
def create
@ping = Ping.new(ping_params)
@ping.service = @service
@ping.up = test_ping
@ping.save
end
def test_ping
require 'json'
require 'open-uri'
url = 'https://www.facebook.com/platform/api-status/'
fb_status_serialized = open(url).read
fb_status = JSON.parse(fb_status_serialized)
if fb_status['current']['health'] == 1
test_ping = true
else
test_ping = false
end
end
private
def ping_params
params.require(:ping).permit(:service_id, :up)
end
def set_ping
@ping = Ping.find(params[:ping_id])
end
end
サービスコントローラです。
(以下は、私が追加したいサービスのセットアップです)
class ServiceController < ApplicationController
before_action :set_service, only: [:edit, :show, :destroy]
def index
@services = Service.all
end
def new
@service = Service.new
end
def edit
end
def show
end
def create
@service = Service.new(service_params)
@service.save
if @service.save
redirect_to service_path(@service)
else
render :new
end
end
def destroy
@service.destroy
@service.destroy
redirect_to services_path
end
private
def set_service
@service = Service.find(params[:id])
end
def service_params
params.require(:service).permit(:name, :web_api, :json_path)
end
end
ビュー(サービスインデックス)。
<%= @services.each do | s | %>
<p><%= s.name %></p>
<p><%= s.web_api %></p>
<p><%= s.json_path %></p>
<p><%= s.id %></p>
<%= @pings.each do | p | %>
<%# if p.service_id == s.id %>
<!-- undefined -->
<% end %>
<p>|||</p> <%= Ping.new(up: true, service: s ) %> <p>|||</p>
<% end %>
解決方法は?
を反復処理しようとしています。
@pings
の中にある
@services
が定義されていない場合、サービスのみを定義していることになり、pings のイテレーションが機能しなくなります。
each
が適用されている場合は
nil
の値を指定します。
ビューのレンダリングに使用しているコントローラが何であれ、両方のインスタンス変数を定義する必要があるので、試してみてください。
def index
@services = Service.all
@pings = Ping.all
end
関連
-
[解決済み] pg gem をインストールしようとすると 'libpq-fe.h' ヘッダが見つからない
-
[解決済み] nil:NilClass の未定義メソッド `each'... なぜでしょうか?
-
[解決済み] heroku open - no app specified
-
[解決済み] RailsのRootディレクトリのパス?
-
[解決済み] 検索 vs 発見する by vs どこに
-
[解決済み] rails erb フォームヘルパー options_for_select :selected
-
[解決済み] Ruby:Rubyの配列にinclude.の反対はある?
-
[解決済み] gemのアップデート後、"Asset was not declared to be precompiled in production "でテストが失敗する。
-
[解決済み] bundle install --without production は何をするのですか?
-
[解決済み] RubyとRailsの "Date.today "フォーマット
最新
-
nginxです。[emerg] 0.0.0.0:80 への bind() に失敗しました (98: アドレスは既に使用中です)
-
htmlページでギリシャ文字を使うには
-
ピュアhtml+cssでの要素読み込み効果
-
純粋なhtml + cssで五輪を実現するサンプルコード
-
ナビゲーションバー・ドロップダウンメニューのHTML+CSSサンプルコード
-
タイピング効果を実現するピュアhtml+css
-
htmlの選択ボックスのプレースホルダー作成に関する質問
-
html css3 伸縮しない 画像表示効果
-
トップナビゲーションバーメニュー作成用HTML+CSS
-
html+css 実装 サイバーパンク風ボタン
おすすめ
-
[解決済み】取得中。「プロジェクトのクローンとマイグレート後に、「マイグレーションは保留中です。この問題を解決するには 'bin/rake db:migrate RAILS_ENV=development' を実行してください。
-
[解決済み] Rubyで変数をインクリメントする [重複]。
-
[解決済み] Ruby: public static メソッドを作るには?
-
[解決済み] rails consoleを起動するとRailsのイニシャライザーが呼ばれる?
-
[解決済み] ルビーオンレール モデルから明確な値を選択する
-
[解決済み] railsでcheck_boxをcheckedにする方法は?
-
[解決済み] レイル 4 radio_button_tag default not selected
-
[解決済み] rails/rubyでgroup_byを使用する。
-
[解決済み] Ruby on Rails の新規セットアップ : "Expected string default value for '--rc'; got false (boolean)".
-
[解決済み] Rails 4で、以前のバージョンのRailsでattr_accessibleを使用していた状況に遭遇した場合、Forbidden Attributes Errorが発生する。