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

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

新規登録して質問してみよう
ただいま回答率
85.48%
Ruby on Rails 5

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

Ruby

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

Q&A

解決済

1回答

254閲覧

【Rails】id を読み込まれるようにしたい。

sunny_garden

総合スコア6

Ruby on Rails 5

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

Ruby

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

0グッド

0クリップ

投稿2019/12/08 09:53

#前提・実現したいこと
id を読み込まれるようにしたい。
初めて利用します。何卒よろしくお願いいたします。
(コードのインデントの入れ方が分からず、読みづらくなっていると思います。
ご了承お願いします><)

発生している問題・エラーメッセージ

###エラーメッセージ
ActiveRecord::RecordNotFound in JpcitiesController#show
Couldn't find Jpcity with 'id'=show
Extracted source (around line #25):

###エラーの発生しているコード
@jpcity_name = Jpcity.find(params[:id]).jpkanji

#言語
ruby

#試したこと
routes.rb と jpcity.rb を確認したが、おかしいところが見当たらない。
別途実装したインクリメンタルサーチは正常に機能している。

#補足情報
###ruby のバージョン:
2.5.1
###Railsのバージョン:
5.2.3

#ここにより詳細な情報を記載してください。
###routes.rb
Rails.application.routes.draw do
root to: 'jpcities#search'
resources :jpcities do
collection do
get 'search'
end
end
resources :chcities
end
#jpcity.rb
class Jpcity < ApplicationRecord
has_one :jpcity2
has_one :jpclimate
accepts_nested_attributes_for :jpcity2
accepts_nested_attributes_for :jpclimate
end
#jpcities.controller
lass JpcitiesController < ApplicationController
def index
end

def search
@jpcity_name = Jpcity.where('jpkanji LIKE(?)', "%#{params[:keyword]}%").limit(6)
@jpcity_hira = Jpcity.where('hira LIKE(?)', "%#{params[:keyword]}%").limit(6)
@jpcity_alpha = Jpcity.where('alphabet LIKE(?)', "%#{params[:keyword]}%").limit(6)
if @jpcity_name != []
@jpcities = @jpcity_name
elsif @jpcity_hira != []
@jpcities = @jpcity_hira
else
@jpcities = @jpcity_alpha
end
respond_to do |format|
format.html
format.json{render json:@jpcities}
end
end

def show
@jpcity_name = Jpcity.find(params[:id]).jpkanji
end

def jpcity_params
params.require(:jpcity).permit(
:pref,
:jpkanji,
:simplified,
:hira,
:alphabet,
:latitude_id,
jpcity2_attributes:[
:latitude,
:longitude,
:pref,
:income,
:r_price,
:popul,
:size,
:dense,
:jpcity_id,
:latitude_id
]
)
end
end
###jpcityテーブル
md(!cd22e011378b46b8955179f80569509d,0.707182320441989)
このほかに関連するファイルとしてjpcity2がありますが、アップロードできないため割愛します。

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

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

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

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

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

guest

回答1

0

ベストアンサー

indexアクションになにもないので、まだ一覧ページはないという認識であってますか?
その場合URL直打ちで画面を表示していると思うのですが、
URLにidは含まれていますでしょうか。

ちなみにインデントを反映する方法ですが、
「```」 ← この点3つを2行書いてください(上の行から1行あけて)。

2行の間に文字を入れるとこうなります。

↑この中にソースをコピペすればインデントも反映されます!
markdown記法でググるといろいろ出てくると思いますよ!

あと、ストロングパラメータはprivateの下に書きましょう!
こちらもrails privateでググってみてください。

投稿2019/12/08 12:13

編集2019/12/08 12:14
tenten11055

総合スコア67

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

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

sunny_garden

2019/12/09 04:34

ご指摘の通りで、idをpath に入れる記述を考えないとなりませんね。 インデントの件もありがとうございます。中に挟むのですね! この度はお答えいただき、ありがとうございました!
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

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

ただいまの回答率
85.48%

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

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

質問する

関連した質問