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

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

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

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

JavaScript

JavaScriptは、プログラミング言語のひとつです。ネットスケープコミュニケーションズで開発されました。 開発当初はLiveScriptと呼ばれていましたが、業務提携していたサン・マイクロシステムズが開発したJavaが脚光を浴びていたことから、JavaScriptと改名されました。 動きのあるWebページを作ることを目的に開発されたもので、主要なWebブラウザのほとんどに搭載されています。

Ajax

Ajaxとは、Webブラウザ内で搭載されているJavaScriptのHTTP通信機能を使って非同期通信を利用し、インターフェイスの構築などを行う技術の総称です。XMLドキュメントを指定したURLから読み込み、画面描画やユーザの操作などと並行してサーバと非同期に通信するWebアプリケーションを実現することができます。

Q&A

0回答

1151閲覧

Rails/ajax通信でリクエストをjavascriptでview表示できない

退会済みユーザー

退会済みユーザー

総合スコア0

Ruby on Rails

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

JavaScript

JavaScriptは、プログラミング言語のひとつです。ネットスケープコミュニケーションズで開発されました。 開発当初はLiveScriptと呼ばれていましたが、業務提携していたサン・マイクロシステムズが開発したJavaが脚光を浴びていたことから、JavaScriptと改名されました。 動きのあるWebページを作ることを目的に開発されたもので、主要なWebブラウザのほとんどに搭載されています。

Ajax

Ajaxとは、Webブラウザ内で搭載されているJavaScriptのHTTP通信機能を使って非同期通信を利用し、インターフェイスの構築などを行う技術の総称です。XMLドキュメントを指定したURLから読み込み、画面描画やユーザの操作などと並行してサーバと非同期に通信するWebアプリケーションを実現することができます。

0グッド

0クリップ

投稿2016/11/27 02:23

お世話になります。
現在Railsを勉強中のプログラミングの初心者です。

色々分からないことが多く、質問の内容も分かりづらい部分があるかもしれませんが
どうかお力添え戴ければ幸いです。

今、ユーザーごとに食材在庫を管理するアプリを作っており、
categoryごとに分けた食材をcatrgoryボタンをクリックしたら、ajaxを使って画面遷移せずにcategoryごとの食材一覧を表示させようとしているのですが、表示がでてきません。

まず、食材登録のテーブルは下記のようにカラムがあります。

class CreateStocks < ActiveRecord::Migration def change create_table :stocks do |t| t.references :user, index: true, foreign_key: true t.string :category t.string :foods_name t.integer :number t.datetime :limit t.timestamps null: false end end end

食材登録する際に【野菜】【お肉】【お魚】などをcategoryに登録します。
下記で、categoryボタンを作って、クリックしたらajaxでリクエストが飛ぶようにしてます。

<div class="btn-group-vertical"> <button class="btn"><%= link_to "野菜", get_category_user_path("野菜"), remote:true %></button> <button class="btn"><%= link_to "果物", get_category_user_path("果物"), remote:true %></button> <button class="btn"><%= link_to "お肉", get_category_user_path("お肉"), remote:true %></button> <button class="btn"><%= link_to "お魚", get_category_user_path("お魚"), remote:true %></button> <button class="btn"><%= link_to "乳製品", get_category_user_path("乳製品"), remote:true %></button> <button class="btn"><%= link_to "卵", get_category_user_path("卵"), remote:true %></button> <button class="btn"><%= link_to "その他", get_category_user_path("その他"), remote:true %></button> </div> <div class="col-xs-6"> <table border="1"> <tr> <th>食材名</th> <th>個数</th> <th>期限</th> </tr> <tr id="stock_food"></tr> </table> </div>

ajaxで飛んできたリクエストを受け取るget_categoryメソッドをコントローラーで作って、ボタンのcategoryと該当する食材を@foodsに入れてます。

def get_category @foods = current_user.stocks.where(category: params[:id]) end

@foods を get_category.js.erb で <tr id="stock_food"></tr> に展開して表示されるように記述してます。

$('#stock_food').append( <% @foods.each do |fd| %> <td><%= fd.foods_name %></td> <td><%= fd.number %></td> <% if fd.limit.present? %> <td><%= fd.limit.strftime('%Y年%m月%d日') %></td> <% end %> <% end %> );

ただ、実行してもviewにはなにも表示されません。
javascriptもあまり得意でなく、検索して見ながら記述したので間違いがあるのかもしれませんが、原因がわかりません。

ご指摘頂けると幸いです。

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

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

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

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

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

guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

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

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

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

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

ただいまの回答率
85.48%

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

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

質問する

関連した質問