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

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

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

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

Ruby on Rails

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

AngularJS

AngularJSはオープンソースのJavaScriptフレームワークです。ブラウザ上で動作するウェブアプリケーションの開発にMVCアーキテクチャを取り入れることを目的としています。

Q&A

解決済

1回答

2867閲覧

Grape を使ったシステムで Action Controller のメソッドを呼ぶ方法 Internal server error: undefined method `send_data'

AtsushiNishi

総合スコア8

Ruby

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

Ruby on Rails

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

AngularJS

AngularJSはオープンソースのJavaScriptフレームワークです。ブラウザ上で動作するウェブアプリケーションの開発にMVCアーキテクチャを取り入れることを目的としています。

0グッド

0クリップ

投稿2014/11/11 02:49

AngularJs と Rails を使ったシステムを開発しています.
API 周りの記法にはGrape も導入しています.

実装をする中でGrepe API を継承したクラスで ActionController::DataStreaming にある send_data を呼ぼうとしたところ,呼び出しがうまくいきません.

lang

1module ConfAPI 2 # Conf API module version 3 module V1 4 # conf_api/v1/report 5 class Aaabbbccc < Grape::API 6 include ConfAPI::V1::Defaults 7 include ActionController::DataStreaming 8 9==== 中略 ==== 10 11 get '/output/:id' do 12 13 test_data = { 14 :column1 => "abc", 15 :column2 => "def", 16 :column3 => "ghi" 17 } 18 Rails.logger.debug("test_data") 19 Rails.logger.debug(test_data) 20 21 CSV.generate do |csv| 22 test_data.each do |key, value| 23 csv << [value] 24 end 25 26 send_data csv 27

エラー内容:
error: "Internal server error: undefined method `send_data' for #Grape::Endpoint:0x007ff557cc8108"

Grape を使ったシステムで Action Controller のメソッドを呼ぶにはなんらかの記述が足りないのかと思っているですが,手がかりがつかめないでおります.

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

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

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

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

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

guest

回答1

0

ベストアンサー

詳しくは調べていませんが、Railsとは別物だと思われるので、Grapeの機能でHTTPボディを出力する必要があるのだと思われます。

投稿2014/11/11 03:49

TaMaMhyu

総合スコア1356

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

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

AtsushiNishi

2014/11/11 04:44

確かに grape-doorkeeper のような橋渡し機能がないのであれば,おっしゃるやりかたか,出力の部分だけ grape を使わないかのどちらかですね
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

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

ただいまの回答率
85.48%

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

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

質問する

関連した質問