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

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

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

Ruby on Rails4はRubyによって書かれたオープンソースのウェブフレームワークです。 Ruby on Railsは「設定より規約」の原則に従っており、効率的に作業を行うために再開発を行う必要をなくしてくれます。

API

APIはApplication Programming Interfaceの略です。APIはプログラムにリクエストされるサービスがどのように動作するかを、デベロッパーが定めたものです。

Q&A

1回答

3981閲覧

RailsでERBテンプレートエンジンは使わない方が良い?

退会済みユーザー

退会済みユーザー

総合スコア0

Ruby on Rails 4

Ruby on Rails4はRubyによって書かれたオープンソースのウェブフレームワークです。 Ruby on Railsは「設定より規約」の原則に従っており、効率的に作業を行うために再開発を行う必要をなくしてくれます。

API

APIはApplication Programming Interfaceの略です。APIはプログラムにリクエストされるサービスがどのように動作するかを、デベロッパーが定めたものです。

1グッド

1クリップ

投稿2017/01/27 12:06

編集2017/01/30 06:53

Railsを使用しWebサービスを製作している物です。
日頃Railsを使用していてERBの存在意義があまり見えません。
ERBそのものというより、MVCフレームワークでのViewの立ち位置が、あまり入らないのではないかと思います。

###良いと思う点

  • 簡単なアプリケーションなら実装しやすい
  • ルーティングを設定するだけでControllerとViewの関連付けを簡単に行える
  • テンプレート内でModel内のメソッドの呼び出しができる(Active Recordが使える)

###悪いと思う点

  • アプリケーションが大きくなってくると、ControllerとViewとの関連付けが、難しく理解しにくくなる
  • Controllerでインスタンス変数にセットした値がどのような物か分からなくなる。確認作業が多くなる
  • Viewに渡される値(インスタンス変数)などはRuby, Rails独自の記述方法で制約が多く、データの加工が難しい

「Controllerでこの値をViewに送って、今度このViewから次の遷移先の次のControllr、Viweに値を引き継ごう」のなどのような複雑怪奇なことが起こってしまい、結果汎用性も可読性もない、スパゲッティーコードになってしまいます。

そこれRailsはAPIサーバとしてのみ使用し、すべての値をJSONで返すということをすれば、可読性の良いいいコードになっていくのではないかと思います。

しっかりとRailsを理解しView, Controllerを使えれば問題ないのですが、RailsのMVCは一度に考えなけらばならないことが多く、頭がパンクしてしまいます。なので、APIサーバとして一つ一つの役割を切り分け分業した方が、良いと思いました。

みなさんのご意見・アドバイス等伺いたいです。よろしくお願い致します。

maisumakun👍を押しています

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

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

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

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

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

ikuwow

2017/01/30 04:38

タイトルのRRBはERBのミスでしょうか?
guest

回答1

0

もちろん、そういう使い方をしたければ、RailsをAPIに専念させても大丈夫です。Rails 5では、公式に「APIモード」が用意されるに至っています。

なお、Webサービスで「サーバサイドはAPIに専念して、フロントエンドはほぼ全てJavaScriptで構築する」というのが実用的になってきたのは、ここ数年の話だということは意識しておいたほうがいいでしょう(Reactの初版が2013年、Angularの初版が2010年です)。それ以前は、「サーバサイドで全て構築する」手段しかありませんでした。

あと、1点気になったことがありますが、「Viewに渡される値(インスタンス変数)などはRuby, Rails独自の記述方法で制約が多く、データの加工が難しい」というのは、ちょっとわかりませんでした。ERBにはふつうのRubyとして書けるものはなんでも書けますし、Railsのモデルに自分でメソッドを自由自在に生やせるので、むしろJavaScriptで書くより便利ではないか、というのが自分としての感覚です。

投稿2017/01/27 12:42

maisumakun

総合スコア145183

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

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

退会済みユーザー

退会済みユーザー

2017/01/27 13:07

ご回答ありがとうございます!分業が実用的になったのはここ最近の話だったのですね。とても参考になりました。 > Viewに渡される値(インスタンス変数)などはRuby, Rails独自の記述方法で制約が多く、データの加工が難しい についてですが、説明不足で申し訳ないです。 確かにERBに渡される値等々にはRubyの便利なメソッドが使え、重宝する場面が多々あるかと思うのですが。Viewに値を渡す段階で、「ERBの方でRubyを使っていい感じに書こう」という考えが浮かんでしまい、返される値が不明瞭なまま、作業を進めてしまいます。また予期せず、不要な値まで一緒に返してしまうことがあります。(気をつけコーディングをすることで、解決できる問題だとは思うのですが...) このようになるのであれば、JSONというまとまったフォーマットで値を返し、後はよしなにフロント側で表示してあげれば、ミスを防止できるのではないかと考えました。
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

まだベストアンサーが選ばれていません

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

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

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

ただいまの回答率
85.48%

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

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

質問する

関連した質問