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

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

新規登録して質問してみよう
ただいま回答率
85.50%
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

解決済

2回答

1747閲覧

Rails4 別modelのカラム情報を表示する

smith

総合スコア73

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クリップ

投稿2014/12/26 18:07

item show でcategory modelのnameカラムで表示するにはどうしたら良いでしょうか

現状はitem modelのカラムにはcategory_idのint型が入っていています。

item controller

lang

1 2 def list_params 3 params.require(:category_id) 4 end 5 6 def list 7 selected_category = Category.where(parent_id: list_params)#list_paramsで拾ったcategory_idが親カテゴリになっている子カテゴリを集める 8 9 childs = selected_category.sort{|a, b| a.code <=> b.code} 10 data = [] 11 childs.each do |child| 12 data << {id: child.id, name: child.name} 13 end 14 respond_to do |format| 15 format.json { render json: data } 16 end 17 end 18 19 20 def category_select 21 root = Category.find(1) 22 @categories = root.childs.sort{|a, b| a.code <=> b.code} 23 @childs = @categories[0].childs.sort{|a, b| a.code <=> b.code} 24 end

item view

lang

1 2 <!-- アイテム情報 --> 3 <div class="panel panel-default"> 4 <div class="panel-heading"> 5 <h3 class="panel-title"> アイテム情報</h3> 6 </div> 7 <ul class="list-group list-group-flush text-left"> 8 9 <li class="list-group-item"> 10 <%= @item.content %> 11 </li> 12 13 14 15 16 <li class="list-group-item"> 17 <strong>カテゴリ:</strong> 18 <%= @item.category_id %> 19 </li> 20 <li class="list-group-item"> 21 <strong>subカテゴリ:</strong> 22 <%= @item.sub_category_id %> 23 </li> 24 25 <li class="list-group-item"> 26 <strong>コンディション:</strong> 27 <%= @item.condition %> 28 </li> 29 30 <li class="list-group-item"> 31 <strong>発送元:</strong> 32 <%= @item.area %> 33 </li> 34 35 <li class="list-group-item"> 36 <strong>執行日:</strong> 37 <%= @item.limit_day %> 38 </li> 39 </ul> 40 </div> 41

lang

1$(document).on('change', '#category_select', function(evt) { 2 $.ajax({ 3 type: 'GET', 4 url: 'categoreis/list', 5 dataType: 'json', 6 data: { 7 category_id: $("#category_select option:selected").val() 8 }, 9 error: function(jqXHR, textStatus, errorThrown) { 10 console.log("AJAX Error: " + textStatus); 11 }, 12 success: function(data, textStatus, jqXHR) { 13 $("#child_select").empty(); 14 if (data.length == 0) { 15 $("#child_select").hide(); 16 } else { 17 $("#child_select").show(); 18 } 19 $.each(data, function(idx, child) { 20 // console.log("" + item.code + ":" + item.name); 21 $("#child_select").append('<option value="' + child.id + '">' + child.name + '</option>'); 22 }); 23 console.log("Dynamic country select OK!"); 24 } 25 }); 26 }); 27 28

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

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

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

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

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

guest

回答2

0

ベストアンサー

動作環境をつくれないので、ソースを眺めている状態だけで回答します。

child は Category ですよね。
child から items を得て、その item についての name を view に渡すようにすれば良いとおもいます。

Category は has_many で Item に関連付けられているとおもうので、

child.items.each do ... end

で、child を親カテゴリにもつ item を集めることができるはずです。
(child から item を得るには 他にも幾つかのメソッドがあります。
pry で child が持つ メソッドのなかで item で始まるもの探すと良いです。
binding.pry で berek させたら、 child.item まで打ち込んでから TAB キーを押せば一覧表示されます。)

投稿2014/12/28 23:45

katoy

総合スコア22324

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

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

smith

2014/12/29 02:36

ごめんなさい item view のコードが間違っていました。新しく貼りました。 アイテム詳細画面でユーザーが作成したアイテムのカテゴリを番号ではなく カテゴリクラスのnameで表示したいです。 現状は数字で表示されています。
guest

0

アソシエーションはできています。

投稿2014/12/28 16:54

smith

総合スコア73

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

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

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

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

ただいまの回答率
85.50%

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

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

質問する

関連した質問