https://gyazo.com/7b8270fe0a211e882b17b38f807bf901
searchjsonjbuilder
1json.array! @posts do |post| 2 json.id post.id 3 json.title post.title 4 json.video post.video 5 json.user_id post.user_id 6 json.nickname post.user.nickname 7 json.user_sign_in current_user 8end
rails
1class PostsController < ApplicationController 2 before_action :set_post, only:[:edit,:show] 3 before_action :move_to_index, except: [:index, :show, :search] 4 def index 5 @posts = Post.includes(:user).order("created_at DESC") 6 end 7 def new 8 @post = Post.new 9 end 10 def create 11 if Post.create(post_params) 12 redirect_to "/users/#{current_user.id}", notice: '投稿が完了しました' 13 else 14 render :new 15 end 16 end 17 def destroy 18 post=Post.find(params[:id]) 19 if post.destroy 20 redirect_to "/users/#{current_user.id}", notice: '削除が完了しました' 21 else 22 render :destroy 23 end 24 end 25 def edit 26 end 27 def update 28 post = Post.find(params[:id]) 29 if post.update(post_params) 30 redirect_to "/users/#{current_user.id}", notice: '編集が完了しました' 31 else 32 render :edit 33 end 34 end 35 def show 36 @comment=Comment.new 37 @comments = @post.comments.includes(:user) 38 end 39 def search 40 @posts = Post.search(params[:keyword]) 41 respond_to do |format| 42 format.html 43 format.json 44 end 45 end 46 47 private 48 def post_params 49 params.require(:post).permit(:title,:video,:text).merge(user_id: current_user.id) 50 end 51 def set_post 52 @post=Post.find(params[:id]) 53 end 54 def move_to_index 55 redirect_to action: :index unless user_signed_in? 56 end 57end
js
1$(function(){ 2 $(".search-input").on("keyup", function(){ 3 var input = $(".search-input").val(); 4 $.ajax({ 5 type: 'GET', 6 url: '/posts/search', 7 data: { keyword: input }, 8 dataType: 'json' 9 }) 10 .done(function(post) { 11 console.log(post) 12 }) 13 }); 14});
検索機能のインクリメンタルサーチ実装しているのですがconsole.logしてみたところ406のエラーが発生しました。
このエラー原因が掴めずにいるのでヒントくださる方いましたらお願いします。
あなたの回答
tips
プレビュー