質問をすることでしか得られない、回答やアドバイスがある。

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

新規登録して質問してみよう
ただいま回答率
85.35%
Haml

Haml(HTML abstraction markup language)は、HTML/XHTMLを効率的に記述するためのマークアップ言語および記法です。

Ruby on Rails 6

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

Heroku

HerokuはHeroku社が開発と運営を行っているPaaSの名称です。RubyやNode.js、Python、そしてJVMベース(Java、Scala、Clojureなど)の複数のプログラミング言語をサポートしている。

MySQL

MySQL(マイエスキューエル)は、TCX DataKonsultAB社などが開発するRDBMS(リレーショナルデータベースの管理システム)です。世界で最も人気の高いシステムで、オープンソースで開発されています。MySQLデータベースサーバは、高速性と信頼性があり、Linux、UNIX、Windowsなどの複数のプラットフォームで動作することができます。

Q&A

解決済

1回答

1381閲覧

Herokuの本番環境でのリンクのところでのエラーについて

退会済みユーザー

退会済みユーザー

総合スコア0

Haml

Haml(HTML abstraction markup language)は、HTML/XHTMLを効率的に記述するためのマークアップ言語および記法です。

Ruby on Rails 6

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

Heroku

HerokuはHeroku社が開発と運営を行っているPaaSの名称です。RubyやNode.js、Python、そしてJVMベース(Java、Scala、Clojureなど)の複数のプログラミング言語をサポートしている。

MySQL

MySQL(マイエスキューエル)は、TCX DataKonsultAB社などが開発するRDBMS(リレーショナルデータベースの管理システム)です。世界で最も人気の高いシステムで、オープンソースで開発されています。MySQLデータベースサーバは、高速性と信頼性があり、Linux、UNIX、Windowsなどの複数のプラットフォームで動作することができます。

0グッド

0クリップ

投稿2021/04/05 04:21

###エラー箇所

%ul.sub %li = link_to "①HTML", card_category_path(:card_id ,1) %li = link_to "②CSS", card_category_path(:card_id, 2) %li = link_to "③JavaScript", card_category_path(:card_id, 3) %ul.sub %li = link_to "④Java", card_category_path(:card_id, 4) %li = link_to "⑤PHP", card_category_path(:card_id, 5) %li = link_to "⑥Python", card_category_path(:card_id, 6) %li = link_to "⑦Ruby", card_category_path(:card_id, 7)

こちらのリンクをクリックするとローカルではエラーが起きないのですが、Herokuの本番環境でエラーが起きてしまいます。

#### エラー画像
イメージ説明

現在は本番環境でもエラーの画像が見れるようにしています。後ほど変更します。

関連ありそうなコード

カテゴリーコントローラーになります。

class CategoriesController < ApplicationController def show @category = Category.find(params[:id]) @cards = Card.where(category_id: params[:id]).page(params[:page]).per(7) end end

表示するビューになります。

.Table .Table__title = "「#{@category.name}」の登録一覧" .Table__lists .Table__lists__list - @cards.each do |card| .Table__lists__list__title = link_to "#{card.title}", card_path(card.id) .Table__lists__list__btn = link_to "編集", edit_card_path(card.id) .Table__lists__list__btn = link_to "削除", card_path(card.id), method: :delete .Pagenation = paginate @cards .Return .Return__btn = link_to "トップページに戻る", root_path

次はデータを入れているseeds.rbになります

Category.create(:name => 'HTML', :card_id => 1) Category.create(:name => 'CSS', :card_id => 2) Category.create(:name => 'JavaScript', :card_id => 3) Category.create(:name => 'Java', :card_id => 4) Category.create(:name => 'PHP', :card_id => 5) Category.create(:name => 'Python', :card_id => 6) Category.create(:name => 'Ruby', :card_id => 7)
ルーティングの影響?
Rails.application.routes.draw do devise_for :users root to: 'cards#index' #トップページへ遷移 resources :cards do#7つのアクションの省略 collection do get 'search' end resources :categories, only: [:show] end end

raiils toutesの結果になります。

Prefix Verb URI Pattern Controller#Action new_user_session GET /users/sign_in(.:format) devise/sessions#new user_session POST /users/sign_in(.:format) devise/sessions#create destroy_user_session DELETE /users/sign_out(.:format) devise/sessions#destroy new_user_password GET /users/password/new(.:format) devise/passwords#new edit_user_password GET /users/password/edit(.:format) devise/passwords#edit user_password PATCH /users/password(.:format) devise/passwords#update PUT /users/password(.:format) devise/passwords#update POST /users/password(.:format) devise/passwords#create cancel_user_registration GET /users/cancel(.:format) devise/registrations#cancel new_user_registration GET /users/sign_up(.:format) devise/registrations#new edit_user_registration GET /users/edit(.:format) devise/registrations#edit user_registration PATCH /users(.:format) devise/registrations#update PUT /users(.:format) devise/registrations#update DELETE /users(.:format) devise/registrations#destroy POST /users(.:format) devise/registrations#create root GET / cards#index search_cards GET /cards/search(.:format) cards#search card_category GET /cards/:card_id/categories/:id(.:format) categories#show cards GET /cards(.:format) cards#index POST /cards(.:format) cards#create new_card GET /cards/new(.:format) cards#new edit_card GET /cards/:id/edit(.:format) cards#edit card GET /cards/:id(.:format) cards#show PATCH /cards/:id(.:format) cards#update PUT /cards/:id(.:format) cards#update DELETE /cards/:id(.:format) cards#destroy

どなたかご教授宜しくお願いします!!!!!

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

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

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

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

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

guest

回答1

0

ベストアンサー

なんか似たような質問に答えた気がするが、、、他の方だったのかな。

herokuのDBは標準ではpostgresです。pgはidを指定してcreateはできません。
ので、seedで入れたCategoryのid=1ができていないのでしょう。
seedはidでなくcard_idになっています。

ですので@category = Category.find(params[:id])でなく@category = Category.find_by(card_id: params[:id]) でどうでしょう。

投稿2021/04/05 05:54

winterboum

総合スコア23567

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

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

退会済みユーザー

退会済みユーザー

2021/04/05 06:21

できました!! 多変助かりました、、、、 とても分かりややすく教えていただきありがとうございます。 追加で質問の方させていただいてもよろしいでしょうか?
winterboum

2021/04/05 06:41

質問は構いませんが、後からこのサイトを参照に来る方のためには 「タイトルと異なる内容」であったら別の質問を立てていただくほうが良いかと
退会済みユーザー

退会済みユーザー

2021/04/05 08:32

質問させていただきました、 宜しくお願い致します。
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

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

ただいまの回答率
85.35%

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

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

質問する

関連した質問