_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: "本当に削除しますか?"} %>
回答2件
あなたの回答
tips
プレビュー