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

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

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

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

Ruby on Rails

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

Q&A

0回答

645閲覧

Railsで「もっと見る機能」の実装

lyzmfeqpxs54

総合スコア237

Ruby

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

Ruby on Rails

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

0グッド

0クリップ

投稿2017/12/07 07:22

いつもお世話になります。

下記ページを参考に「もっと見る機能」の実装しようとしています。scaffoldでshopsを作りデータを1000件流し込んだ状態です。下記コードで最初の10件を表示した状態で、「more」のlinkをクリックしたときにajaxを用いて10件ずつ追加でデータを表示していきたいのですがうまく行きません。

moreのリンクをクリックしてもエラーは出ませんが特に何の変化も起きない状態です。
不勉強で申し訳ございませんが、解決策をご教示いただければと思います。

もっと見る機能の実装
http://t-taira.hatenablog.com/entry/2013/04/05/093714

ruby

1 2# view側 3 4# /views/shops/index.html.erb 5<div id="shops"> 6 <%= render 'shops' %> 7</div> 8<%= link_to_next_page @shops, 'more', remote: true, id: 'more_link' %> 9 10 11# /views/shops/_shops.html.erb 12<% @shops.each do |shop| %> 13 <div><%= shop.name %></div> 14<% end %> 15 16 17# /views/shops/index.js.erb 18$('#shops').append("<%= escape_javascript(render 'shops', object: @shops) %>") 19$("#more_link").replaceWith("<%= escape_javascript( 20 link_to_next_page(@shops, 'more', remote: true, id: 'more_link') 21) %>"); 22 23 24 25 26# controllers側 27 28# /controllers/shops_controller.rb 29require 'kaminari' 30class ShopsController < ApplicationController 31 before_action :set_shop, only: [:show, :edit, :update, :destroy] 32 def index 33 if params[:page].nil? 34 @shops = Shop.all.page(1).per(10) 35 else 36 @shops = Shop.page(params[:page]).per(10) 37 end 38 end 39end 40 41moreのリンクをクリックした際にコンソールに表示される内容 42Started GET "/shops?page=2" for XXX.XXX.XX.XX at 2017-12-07 15:57:04 +0900 43Cannot render console from XXX.XXX.XX.XX! Allowed networks: 127.0.0.1, ::1, 127.0.0.0/127.255.255.255 44Processing by ShopsController#index as JS 45 Parameters: {"page"=>"2"} 46 Rendering shops/index.js.erb 47 Shop Load (0.2ms) SELECT "shops".* FROM "shops" LIMIT ? OFFSET ? [["LIMIT", 10], ["OFFSET", 10]] 48 Rendered shops/_shops.html.erb (1.4ms) 49 (0.1ms) SELECT COUNT(*) FROM "shops" 50 Rendered shops/index.js.erb (5.7ms) 51Completed 200 OK in 16ms (Views: 10.8ms | ActiveRecord: 0.4ms) 52 53

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

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

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

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

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

guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

まだ回答がついていません

会員登録して回答してみよう

アカウントをお持ちの方は

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

ただいまの回答率
85.48%

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

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

質問する

関連した質問