0

アプリケーション用のコントローラーとモデルを作成しました。json形式でデータを取得したい。出力はどこで確認できますか? コントローラーを実行しても応答しません。ファイルを一覧表示しています。products最後に、json 形式のデータベースからテーブルからデータを取得したいと考えています。データを取得するにはどうすればよいですか?

私のコントローラー:

class ShoppingDemo < ApplicationController

  def index
    @lists=Product.all;
    respond_to do |format|
      format.html
      format.json { render json: @lists}
    end
   end

   def show
    @products = products.find(params[:prod_id])

    respond_to do |format|
      format.html # show.html.erb
      format.json { render json: @products }
    end
  end

end


My Model:

class product < Activerecord::Base
  attr_accessible :model_name, :brand_name, :price, :discount, :qty_available
end

show.html.erb


<p>
  <b>model_name:</b>
  <%= @products.model_name %>
</p>

<p>
  <b>Brand_name:</b>
  <%= @products.brand_name %>
</p>

<p>
  <b>Price:</b>
  <%= @products.price %>
</p>

<p>
  <b>Discount:</b>
  <%= @products.discount %>
</p>

<p>
  <b>Quantity:</b>
  <%= @products.qty_available %>
</p>
4

2 に答える 2

1

まず、show メソッドでのクエリは完全に間違っています。
次のように show メソッドを記述します。

def show
  @products = Product.find(params[:prod_id])

  respond_to do |format|
    format.html # show.html.erb
    format.json { render json: @products }
  end
end

<%= @products.to_json %>そして、show.html.erb に 書き込みます。それ以外の場合は、URL に拡張子を
追加して確認できます。.json例えば:http://localhost:3000/shopping_demos/1.json

于 2012-12-11T10:24:24.023 に答える
0

products_controller.rb ファイル内に次のように記述します。

  def index
   @products = Product.all

   respond_to do |format|
    format.html # index.html.erb
    format.json { render json: @products }
   end
  end
  def show
    @product = Product.find(params[:id])

    respond_to do |format|
     format.html # show.html.erb
     format.json { render json: @product }
     end
  end


routes.rb ファイルに次の行を追加します。
resources :products

そしてそれに応じて先に進んでください。

ruby on rails についてあまり知らないことがわかりました。資料をご覧ください。
http://guides.rubyonrails.org/

于 2012-12-11T11:22:34.143 に答える