🎄teratailクリスマスプレゼントキャンペーン2024🎄』開催中!

\teratail特別グッズやAmazonギフトカード最大2,000円分が当たる!/

詳細はこちら
Ruby

Rubyはプログラミング言語のひとつで、オープンソース、オブジェクト指向のプログラミング開発に対応しています。

Ruby on Rails

Ruby on Railsは、オープンソースのWebアプリケーションフレームワークです。「同じことを繰り返さない」というRailsの基本理念のもと、他のフレームワークより少ないコードで簡単に開発できるよう設計されています。

Q&A

解決済

2回答

2004閲覧

Completed 500 Internal Server Error in 140ms を解消したいです!

sn.jr

総合スコア53

Ruby

Rubyはプログラミング言語のひとつで、オープンソース、オブジェクト指向のプログラミング開発に対応しています。

Ruby on Rails

Ruby on Railsは、オープンソースのWebアプリケーションフレームワークです。「同じことを繰り返さない」というRailsの基本理念のもと、他のフレームワークより少ないコードで簡単に開発できるよう設計されています。

0グッド

0クリップ

投稿2019/12/15 01:52

編集2019/12/15 04:16

_header.html,erbの<%= menu_link_to '投稿', :articles%>を選択すると、Completed 500 Internal Server Error in 140msとエラーが出てしまします。いくつかの記事を読み、viewに問題があったパターンが見受けられたのですが、自分のものを確認したところ該当する問題が見当たりませんでした。見落としている可能性を踏まえ、どなたかお知恵を拝借したいです。よろしくお願いします!

rb

1<% @page_title = "ニュース記事一覧" %> 2<h1><%= @page_title %></h1> 3 4<div class="toolbar"><%= link_to "新規作成", :new_article %></div> 5 6<% if @articles.present? %> 7 <table class ="list"> 8 <thead> 9 <tr> 10 <th>タイトル</th> 11 <th>日時</th> 12 <th>操作</th> 13 </tr> 14 </thead> 15 <tbody> 16 <%= @articles.each do |article| %> 17 <tr> 18 <td><%= link_to article.title, article%></td> 19 <td><%= article.released_at.strftime("%Y/%m/%d %H:%M") %></td> 20 <td> 21 <%= link_to "編集", [:edit, article] %>| 22 <%= link_to "削除", article, method: :delete, 23 data: {confirm: "本当に削除しますか?"} %> 24 </td> 25 </tr> 26 <% end %> 27 <tbody> 28 </table> 29<% else %> 30 <p>ニュースがありません</p> 31<% end %>

_header.html.erb

<%= image_tag "rails-logo.svg", size: "272x48", alt: "Wakatta"%> <% if current_member %> <ul class="account-menu"> <%= menu_link_to current_member.name + "さん", :account %> <%= menu_link_to "ログアウト", :session, method: :delete, data: {confirm: "ログアウトしますか?"}%> </ul> <% end %> <nav class="menubar"> <ul> <%= menu_link_to 'TOP', :root%> <%= menu_link_to '投稿', :articles%> <%= menu_link_to 'ブログ', :members%> <% if current_member%> <%= menu_link_to '会員名簿', :members%> <%= menu_link_to '管理ページ', :members%> <%end%> </ul> </nav>

rb

1class ArticlesController < ApplicationController 2 before_action :login_required, except: [:index, :show] 3 4 def index 5 @articles = Article.order(released_at: :desc) 6 end 7end 8

menu_link_toに関して

rb

1module ApplicationHelper 2 def page_title 3 title = "Wakatta" 4 title = @page_title + "-" + title if @page_title 5 title 6 end 7 def menu_link_to(text, path, options ={}) 8 content_tag :li do 9 link_to_unless_current(text, path, options) do 10 content_tag(:span, text) 11 end 12 end 13 end 14end 15

rb

1Prefix Verb URI Pattern Controller#Action 2 passwords_edit GET /passwords/edit(.:format) passwords#edit 3 accounts_show GET /accounts/show(.:format) accounts#show 4 accounts_edit GET /accounts/edit(.:format) accounts#edit 5 top_index GET /top/index(.:format) top#index 6 search_members GET /members/search(.:format) members#search 7 members GET /members(.:format) members#index 8 POST /members(.:format) members#create 9 new_member GET /members/new(.:format) members#new 10 edit_member GET /members/:id/edit(.:format) members#edit 11 member GET /members/:id(.:format) members#show 12 PATCH /members/:id(.:format) members#update 13 PUT /members/:id(.:format) members#update 14 DELETE /members/:id(.:format) members#destroy 15 root GET / top#index 16 about GET /about(.:format) top#about 17 session DELETE /session(.:format) sessions#destroy 18 POST /session(.:format) sessions#create 19 edit_account GET /account/edit(.:format) accounts#edit 20 account GET /account(.:format) accounts#show 21 PATCH /account(.:format) accounts#update 22 PUT /account(.:format) accounts#update 23 edit_password GET /password/edit(.:format) passwords#edit 24 password GET /password(.:format) passwords#show 25 PATCH /password(.:format) passwords#update 26 PUT /password(.:format) passwords#update 27 articles GET /articles(.:format) articles#index 28 POST /articles(.:format) articles#create 29 new_article GET /articles/new(.:format) articles#new 30 edit_article GET /articles/:id/edit(.:format) articles#edit 31 article GET /articles/:id(.:format) articles#show 32 PATCH /articles/:id(.:format) articles#update 33 PUT /articles/:id(.:format) articles#update 34 DELETE /articles/:id(.:format) articles#destroy 35

##試したこと
index.html.erbを全部消したら、エラーが解消されたのでviewにやはり問題があるかと思います。
下記の部分の有無でエラーの有無も影響しているみたいです。(index.html.erb)

<%= link_to "削除", article, method: :delete, data: {confirm: "本当に削除しますか?"} %>

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

maisumakun

2019/12/15 02:09

menu_link_toはどこでどのように定義されていますか?
sn.jr

2019/12/15 02:17

このように定義しています! module ApplicationHelper def page_title title = "Wakatta" title = @page_title + "-" + title if @page_title title end def menu_link_to(text, path, options ={}) content_tag :li do link_to_unless_current(text, path, options) do content_tag(:span, text) end end end end
winterboum

2019/12/15 02:30

エラーメッセージを省略せず見せて下さい。 もしくは その前後のlogを見せて下さい。
sn.jr

2019/12/15 02:31

Started GET "/articles" for 127.0.0.1 at 2019-12-15 11:24:15 +0900 Processing by ArticlesController#index as HTML "101010101" Article Load (0.7ms) SELECT "articles".* FROM "articles" ORDER BY "articles"."released_at" DESC LIMIT ? [["LIMIT", 11]] ↳ app/controllers/articles_controller.rb:6:in `p' #<ActiveRecord::Relation [#<Article id: 10, title: "練習試合の結果9", body: "Morning Gloryが4対2でSunflowerに勝利。\n\n2回表、6番渡辺の二塁打から7番山...", released_at: "2019-12-16 01:14:03", expired_at: "2019-12-22 01:14:03", member_only: true, created_at: "2019-12-15 01:14:03", updated_at: "2019-12-15 01:14:03">, #<Article id: 9, title: "練習試合の結果8", body: "Morning Gloryが4対2でSunflowerに勝利。\n\n2回表、6番渡辺の二塁打から7番山...", released_at: "2019-12-15 01:14:03", expired_at: "2019-12-21 01:14:03", member_only: false, created_at: "2019-12-15 01:14:03", updated_at: "2019-12-15 01:14:03">, #<Article id: 8, title: "練習試合の結果7", body: "Morning Gloryが4対2でSunflowerに勝利。\n\n2回表、6番渡辺の二塁打から7番山...", released_at: "2019-12-14 01:14:03", expired_at: "2019-12-20 01:14:03", member_only: false, created_at: "2019-12-15 01:14:03", updated_at: "2019-12-15 01:14:03">, #<Article id: 7, title: "練習試合の結果6", body: "Morning Gloryが4対2でSunflowerに勝利。\n\n2回表、6番渡辺の二塁打から7番山...", released_at: "2019-12-13 01:14:03", expired_at: "2019-12-19 01:14:03", member_only: true, created_at: "2019-12-15 01:14:03", updated_at: "2019-12-15 01:14:03">, #<Article id: 6, title: "練習試合の結果5", body: "Morning Gloryが4対2でSunflowerに勝利。\n\n2回表、6番渡辺の二塁打から7番山...", released_at: "2019-12-12 01:14:03", expired_at: "2019-12-18 01:14:03", member_only: false, created_at: "2019-12-15 01:14:03", updated_at: "2019-12-15 01:14:03">, #<Article id: 5, title: "練習試合の結果4", body: "Morning Gloryが4対2でSunflowerに勝利。\n\n2回表、6番渡辺の二塁打から7番山...", released_at: "2019-12-11 01:14:03", expired_at: "2019-12-17 01:14:03", member_only: false, created_at: "2019-12-15 01:14:03", updated_at: "2019-12-15 01:14:03">, #<Article id: 4, title: "練習試合の結果3", body: "Morning Gloryが4対2でSunflowerに勝利。\n\n2回表、6番渡辺の二塁打から7番山...", released_at: "2019-12-10 01:14:03", expired_at: "2019-12-16 01:14:03", member_only: true, created_at: "2019-12-15 01:14:03", updated_at: "2019-12-15 01:14:03">, #<Article id: 3, title: "練習試合の結果2", body: "Morning Gloryが4対2でSunflowerに勝利。\n\n2回表、6番渡辺の二塁打から7番山...", released_at: "2019-12-09 01:14:03", expired_at: "2019-12-15 01:14:03", member_only: false, created_at: "2019-12-15 01:14:03", updated_at: "2019-12-15 01:14:03">, #<Article id: 2, title: "練習試合の結果1", body: "Morning Gloryが4対2でSunflowerに勝利。\n\n2回表、6番渡辺の二塁打から7番山...", released_at: "2019-12-08 01:14:03", expired_at: "2019-12-14 01:14:03", member_only: false, created_at: "2019-12-15 01:14:03", updated_at: "2019-12-15 01:14:03">, #<Article id: 1, title: "練習試合の結果0", body: "Morning Gloryが4対2でSunflowerに勝利。\n\n2回表、6番渡辺の二塁打から7番山...", released_at: "2019-12-07 01:14:03", expired_at: "2019-12-13 01:14:03", member_only: true, created_at: "2019-12-15 01:14:03", updated_at: "2019-12-15 01:14:03">]> Rendering articles/index.html.erb within layouts/application Article Load (0.3ms) SELECT "articles".* FROM "articles" ORDER BY "articles"."released_at" DESC ↳ app/views/articles/index.html.erb:6 Rendered articles/index.html.erb within layouts/application (Duration: 108.0ms | Allocations: 77320) Completed 500 Internal Server Error in 123ms (ActiveRecord: 1.6ms | Allocations: 85283)
sn.jr

2019/12/15 02:52

:rootは通っています!
guest

回答2

0

自己解決

どうやら全角スペースが入っていた模様です。お騒がせいたしました!今後ともよろしくお願いします!!

投稿2019/12/15 04:36

sn.jr

総合スコア53

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

0

link_to_unless_current(text, path, options={}) と言うことですから path は pathを作れるものでなければなりません。
link_to_unless_current(name, options = {}, html_options = {}, &block) こういうnotationですから。
なのに、 <%= menu_link_to '投稿', :articles %> と 正しいURLを作れないoptionであるため発生したのでは。これで articles_path になるのかな?
:rootは通ってますか? とするとこちらは routes.rb の root 宣言が効いてるのか?
ここを articles_path にするとどうなりますか?
logを見ればもう少しはっきりします。

全然違いましたね、:articlesでarticles_pathと同じなんだ、知りませんでした。

で、
一箇所まずい所が
<%= @articles.each do |article| %> これは <% @articles
これで500が出るとは考えにくいので500は他に原因があると思いますが。
もうちょい考えてみます

投稿2019/12/15 02:45

編集2019/12/15 03:00
winterboum

総合スコア23567

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

sn.jr

2019/12/15 02:51

なるほど!<%= menu_link_to '投稿', articles_path %>のようにしたら同じようなエラーが出ました。Started GET "/articles" for 127.0.0.1 at 2019-12-15 11:50:13 +0900 Processing by ArticlesController#index as HTML Rendering articles/index.html.erb within layouts/application Article Load (0.3ms) SELECT "articles".* FROM "articles" ORDER BY "articles"."released_at" DESC ↳ app/views/articles/index.html.erb:6 Rendered articles/index.html.erb within layouts/application (Duration: 147.3ms | Allocations: 77522) Completed 500 Internal Server Error in 150ms (ActiveRecord: 0.3ms | Allocations: 78602) ちなみにログというのはどのことをおっしゃていますか?ターミナルに出てくる上記のようなものでよろしいでしょうか?
winterboum

2019/12/15 03:01

ああ、ターミナルにでているなら、それで良いです。Rails.rootのlogにいろいろたまります。
sn.jr

2019/12/15 04:06

こちらなのですが、やはりエラーがまだ解消できていません。何か解決策などございましたら、教えていただけると幸いです!
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.36%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問