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

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

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

HTML5 (Hyper Text Markup Language、バージョン 5)は、マークアップ言語であるHTMLの第5版です。

Ruby on Rails

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

HTML

HTMLとは、ウェブ上の文書を記述・作成するためのマークアップ言語のことです。文章の中に記述することで、文書の論理構造などを設定することができます。ハイパーリンクを設定できるハイパーテキストであり、画像・リスト・表などのデータファイルをリンクする情報に結びつけて情報を整理します。現在あるネットワーク上のほとんどのウェブページはHTMLで作成されています。

Q&A

解決済

1回答

641閲覧

Ruby on Railsにてlink_toを使うと大量のaタグが発生してしまう。

nk1234

総合スコア1

HTML5

HTML5 (Hyper Text Markup Language、バージョン 5)は、マークアップ言語であるHTMLの第5版です。

Ruby on Rails

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

HTML

HTMLとは、ウェブ上の文書を記述・作成するためのマークアップ言語のことです。文章の中に記述することで、文書の論理構造などを設定することができます。ハイパーリンクを設定できるハイパーテキストであり、画像・リスト・表などのデータファイルをリンクする情報に結びつけて情報を整理します。現在あるネットワーク上のほとんどのウェブページはHTMLで作成されています。

0グッド

0クリップ

投稿2020/10/15 13:07

編集2020/10/16 12:17

前提・実現したいこと

ここに質問の内容を詳しく書いてください。
RubyonRailsで簡単なWebアプリケーションを作っています。
link_toを使うと、indexページに大量のaタグが出ます。
恐らくlink_toの書き方には問題ないと思います。

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

イメージ説明
記載している写真と該当コードのhtmlが一緒のindex.html.erbです。
追記:raiils db:migrate:resetを用いたのですがエラー文が出てしまいそちらも解決策がわからず行き詰っております。Rubyの下に記載しているものが該当のコードです。ファイル名は個人名だったため、fileに変更しています。

該当のソースコード

html

1 2<h1>Books</h1> 3<% @books.each do |book| %> 4 <%= book.title %> 5 <%= book.body %> 6 <%= link_to "show", book_path(book.id) %> 7<%end %> 8<h2>New Book</h2> 9<%= form_for(@book) do |f| %> 10 <h4>title</h4> 11 <%= f.text_field :title %> 12 <h4>body</h4> 13 <%= f.text_field :body %> 14 <h4>Create Book</h4> 15 <%= f.submit 'Create Book' %> 16<% end %>

rails

1Rails.application.routes.draw do 2 # For details on the DSL available within this file, see http://guides.rubyonrails.org/routing.html 3 root to: 'posts#index' 4 resources :books 5end 6

Ruby

1class BooksController < ApplicationController 2 def index 3 @book = Book.new 4 @books = Book.all 5 end 6 7 def show 8 @book = Book.find(params[:id]) 9 end 10 11 def new 12 end 13 14 def create 15 book = Book.new(book_params) 16 book.save 17 redirect_to books_path 18 end 19 20 def edit 21 end 22 private 23 def book_params 24 params.require(:book).permit(:title, :body) 25 end 26end 27

rails

1Text file busy @ apply2files - /home/vagrant/work/file/db/development.sqlite3 2Couldn't drop database 'db/development.sqlite3' 3rails aborted! 4Errno::ETXTBSY: Text file busy @ apply2files - /home/vagrant/work/file/db/development.sqlite3 5/home/vagrant/work/file/bin/rails:9:in `<top (required)>' 6/home/vagrant/work/file/bin/spring:15:in `<top (required)>' 7bin/rails:3:in `load' 8bin/rails:3:in `<main>' 9Tasks: TOP => db:drop:_unsafe 10(See full trace by running task with --trace)

試したこと

<link_to do>も試してみましたが、変わりませんでした。

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

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

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

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

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

m.ts10806

2020/10/15 13:09

booksのデータ件数はどうなっていますか?
m.ts10806

2020/10/15 13:12

今「show」と固定文字列だけ出されているので、book.idとか出したら原理が分かるのでは。 そもそもどうなることを想定されていましたか?
nk1234

2020/10/16 12:25

booksのデータ件数は352件となっています。352件も投稿した覚えもなく、せいぜい10件程度だと思うのですが何故か大量に表示されてしまいます。 想定としては、新規投稿した文字の隣にshowが来るという形にしたかったです。 下記のような形を思い描いていました。 test1 test2 show test3 test4 show
guest

回答1

0

ベストアンサー

BooksテーブルにtitleとBodyのない空レコードがたくさん保存されているためだと考えられます。
またTitleやBodyを入れたレコードでは、「ああ おお show」「test1 test1 show」という形で表示されています。

登録しているデータを削除してよければ、rails db:migrate:resetを実行するとindexにはshowがない状態になります。

投稿2020/10/16 05:48

no1knows

総合スコア3365

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

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

nk1234

2020/10/16 12:19

ご回答ありがとうございます。rails db:migrate:resetを実行してもまた別のエラーが出てしまい八方塞がりな状況となっていました。ご教授のほうお願いいたします。
m.ts10806

2020/10/16 12:36

テストデータ的なものならデータを1回全部消してから1つずつ確認していった方が問題切り分けできるんじゃないかと。こまめにデバッグを。 データ件数からすると、画面に表示された内容は間違いないわけですし。
no1knows

2020/10/16 12:39

Windows環境、vagrant等は、知見がないのですが、調べたら下記で解決できそうです。 Googleで検索したキーワードは「Couldn't drop database 'db/development.sqlite3'」となります。 https://teratail.com/questions/67393
no1knows

2020/10/16 12:40

あぁ、m.ts10806さんのやり方もいいですね!
nk1234

2020/10/16 12:51

m.ts10806様、no1knows様ありがとうございます。no1knows様の提示していただいた記事を参考にさせていただきました。おかげ様で問題解決に至りました。m.ts10806様が仰ったようにこまめにデバックをとるよう心掛けます。ありがとうございました。
no1knows

2020/10/16 14:00

それはよかったです!
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

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

ただいまの回答率
85.35%

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

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

質問する

関連した質問