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

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

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

JSON(JavaScript Object Notation)は軽量なデータ記述言語の1つである。構文はJavaScriptをベースとしていますが、JavaScriptに限定されたものではなく、様々なソフトウェアやプログラミング言語間におけるデータの受け渡しが行えるように設計されています。

Ruby on Rails

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

jQuery

jQueryは、JavaScriptライブラリのひとつです。 簡単な記述で、JavaScriptコードを実行できるように設計されています。 2006年1月に、ジョン・レシグが発表しました。 jQueryは独特の記述法を用いており、機能のほとんどは「$関数」や「jQueryオブジェクト」のメソッドとして定義されています。

解決済

フルカレンダー「ActionController::UnknownFormat」json,jquery

seen
seen

総合スコア49

JSON

JSON(JavaScript Object Notation)は軽量なデータ記述言語の1つである。構文はJavaScriptをベースとしていますが、JavaScriptに限定されたものではなく、様々なソフトウェアやプログラミング言語間におけるデータの受け渡しが行えるように設計されています。

Ruby on Rails

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

jQuery

jQueryは、JavaScriptライブラリのひとつです。 簡単な記述で、JavaScriptコードを実行できるように設計されています。 2006年1月に、ジョン・レシグが発表しました。 jQueryは独特の記述法を用いており、機能のほとんどは「$関数」や「jQueryオブジェクト」のメソッドとして定義されています。

1回答

0リアクション

1クリップ

3249閲覧

投稿2017/09/23 09:58

編集2017/09/25 00:54

フルカレンダーというgemを使ってDBの予定レコードを表示、反映させるアプリをつくっています。
カレンダーを表示させるところまでは成功したのですがレコードを反映させることができません。

エラー内容
ActionController::UnknownFormat in EventsController#events

ActionController::UnknownFormat

Extracted source (around line #6):
4@event = Event.all
5 # render :json => @event
6respond_to do |format|
7format.json {
8render json:
9@event.to_json }

手順としては、Eventモデルに手動でレコードを入れ

#現在入っているレコード irb(main):002:0> Event.all Event Load (19.4ms) SELECT "events".* FROM "events" => #<ActiveRecord::Relation [#<Event id: 1, user_id: 1, title: "sdr", allDay: true, start: "2017-09-30 17:00:00", created_at: "2017-09-23 03:49:33", updated_at: "2017-09-23 03:49:33">]>

calendar.coffee.でこのようになっています。参考にしたサイトではjs表記でしたが、coffeeスクリプトに変換しないと動作しないとの情報を得て以下のようにしました。下段の方は自信ないです。

#calendar.coffee $(document).ready -> $('#calendar').fullCalendar header: left: 'prev,next today', center: 'title', #ここまでOK #以下でカレンダーにレコードを反映? events: '/events.json' editable: true return

eventsコントローラーに記述。ここでeventsコントローラーをrails g して記述しましたが合ってますかね? calendarコントローラーではないですよね?(どちらも試してエラーが出ちゃってんですけど) これでカレンダー上に出力されるのでしょうか?

class EventsController < ApplicationController def events @event = Event.all # render :json => @event respond_to do |format| format.json { render json: @event.to_json } end end end

ちなみにカレンダーが表示されているviewはこのようにしていましてきちんと表示されています。

<div id="calendar"></div> <p>Find me in app/views/calendar/index.html.erb</p>

そしてroutesはこちらです。

Rails.application.routes.draw do root to: 'calendar#index' get 'calendar/index' get 'events', to: 'event#events' end

rake routes では以下のようになっており

vagrant@vagrant-ubuntu-trusty-32:/vagrant/lesson2$ rake routes Prefix Verb URI Pattern Controller#Action root GET / calendar#index calendar_index GET /calendar/index(.:format) calendar#index events GET /events(.:format) event#events step1 GET /step1(.:format) people#step1

http://localhost:3000/eventsにアクセスすると問題のエラーとなります。また、http://localhost:3000/events.jsonとするとエラーは出ずにブラウザにはこのようにjson表示されます。

[{"id":1,"user_id":1,"title":"sdr","allDay":true,"start":"2017-09-30T17:00:00.000Z","created_at":"2017-09-23T03:49:33.059Z","updated_at":"2017-09-23T03:49:33.059Z"}]

respond_to do |format|しているのにActionController::UnknownFormatというのはどういったことなんでしょうか...
すみませんがご教示いただけるとたすかります。 よろしくお願いします。

参考にさせていただいているサイトはこちらです。
http://qiita.com/fukumura/items/98503d12981be79c417e[リンク内容](http://qiita.com/fukumura/items/98503d12981be79c417e)

以下のような質問にはリアクションをつけましょう

  • 質問内容が明確
  • 自分も答えを知りたい
  • 質問者以外のユーザにも役立つ

リアクションが多い質問は、TOPページの「注目」タブのフィードに表示されやすくなります。

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

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

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

下記のような質問は推奨されていません。

  • 間違っている
  • 質問になっていない投稿
  • スパムや攻撃的な表現を用いた投稿

適切な質問に修正を依頼しましょう。

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

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

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

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

ただいまの回答率
86.12%

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

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

質問する

関連した質問

同じタグがついた質問を見る

JSON

JSON(JavaScript Object Notation)は軽量なデータ記述言語の1つである。構文はJavaScriptをベースとしていますが、JavaScriptに限定されたものではなく、様々なソフトウェアやプログラミング言語間におけるデータの受け渡しが行えるように設計されています。

Ruby on Rails

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

jQuery

jQueryは、JavaScriptライブラリのひとつです。 簡単な記述で、JavaScriptコードを実行できるように設計されています。 2006年1月に、ジョン・レシグが発表しました。 jQueryは独特の記述法を用いており、機能のほとんどは「$関数」や「jQueryオブジェクト」のメソッドとして定義されています。