2012-12-11 139 views
0

創建控制器和模型我創建了一個控制器和我的應用程序的模型後,下一個步驟。我想以json格式獲取數據。我在哪裏可以看到我的輸出?如果我運行控制器,它不會迴應。我列出了這些文件。最後,我想從json格式的數據庫中獲取products表中的數據。如何獲取我的數據?是什麼在紅寶石

我的控制器:

所有的
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> 
+0

您是否在命令行中使用'rails server'啓動服務器? –

+0

是的,我做了..然後我將ShoppingDemo添加到網址。它顯示'沒有路線匹配[GET]「/ ShoppingDemo」'..現在該怎麼辦? –

+1

http://railsforzombies.org/ – apneadiving

回答

1

首先,你在表演方法查詢是完全錯誤的。

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

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

,譜寫你的show.html.erb <%= @products.to_json %>
寫show方法像以下。
否則,您可以通過添加.json擴展在url檢查。例如:http://localhost:3000/shopping_demos/1.json

+0

謝謝你給我答案...這是'1.json'是什麼? json是用於json格式的。那麼這裏是什麼? –

+0

1是您的'prod_id'。我爲你提供的參考資料。 – VenkatK

+0

k k ...我需要改變routes.rb文件中的任何內容嗎? –

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

並據此繼續。

我能找到你是不是在軌道上多瞭解紅寶石。請看看文件。
http://guides.rubyonrails.org/

+0

非常感謝你..然後關於html頁面..我運行localhost:3000/products_controller? –

+0

沒有pawan。運行'localhost:3000/products' – VenkatK

+0

它顯示如下錯誤:'NameError in ProductsController#index'當我使用localhost:3000/products –