Railsを初めて使用するため、エラーを正確に特定することはできません。URLからprod_idのみを指定してデータを取得するメソッドを作成しています。URLをlocalhost:3000 / getproducts / PR1.josnとして指定し、json形式でデータを取得します。しかし、それは次のようなエラーを示しています
ActiveRecord::RecordNotFound in GetproductsController#show
Couldn't find Product without an ID
Rails.root: /root/Railsapps/Shopping
Application Trace | Framework Trace | Full Trace
app/controllers/getproducts_controller.rb:12:in `show'
ここで私はコントローラーであるgetproducts.rbを与えています
class GetproductsController < ApplicationController
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[:prod_id])
respond_to do|format|
format.html {render show.html.erb}
format.xml #{ render :xml => @product }
format.json {render json:@product}
end
end
end
私のモデルはproduct.rbです
class Product < ActiveRecord::Base
attr_accessible :model_name, :brand_name, :prod_id
end
私のshow.html.erb
<p id="notice"><%= notice %></p>
<p>
<b>Model Name:</b>
<%= @product.model_name %>
</p>
<p>
<b>Brand Name:</b>
<%= @product.brand_name %>
</p>