我工作的一個項目上和IM很新的軌道工作,不能得到模型提交併驗證顯示頁面
我無法弄清楚什麼是錯的exectly。 我得到這個錯誤。
NoMethodError在產品#指數
未初始化的常量的ProductsController ::優惠
Esentially我有一個特點,我嘗試推行。
在我的產品表中我有一個名爲保留價格的專欄,我想要一個用戶在產品頁面上的表單上提交一個數字,然後驗證它是否保留底價,如果接受它會被添加到購物車,如果不是閃光請輸入更高的報價,
問題是我似乎無法弄清楚如何讓模型和控制器協同工作。
我一直在這一週,我仍然沒有線索。
我想知道是否有人可以看看我的代碼,看看我缺少的視圖頁我得到的錯誤,爲NilClass:類的未定義的方法`model_name',我確信我輸入了正確的模型形式,如果我能得到這個工作,我可以快速完成其餘的工作,但我不知道我缺少什麼。
報價controller.rb 類OffersController < ApplicationController中
attr_accessible:產品,:報價,:reserve_price
DEF新 @offer = Offer.new 端
end
報價模型.rb
class Offer < ActiveRecord::Base
belongs_to的:產品 的has_many:reserve_prices
attr_accessible:產品:報價,:reserve_price
validates_presence_of:提供 驗證:ensure_meets_reserve_price
私人 高清ensure_meets_reserve_price 如果量< self.product。 reserve_price errors.add(:金額,「不符合底價」) 結束 結束
私人 高清reserve_price product.reserve_price 結束
高清your_offer @your_offer = Offer.new
末
高清新 @offer =發售。新=:your_offer 端
end
產品索引視圖文件
class ProductsController < ApplicationController
的before_filter:認證,:除了=> [:索引,:顯示]
#GET /產品 #GET /products.xml
def index @offer = Offer.new
@products = Product.search(params[:search_query])
respond_to do |format|
format.html # index.html.erb
format.xml { render :xml => @products }
end
端
#GET /產品/ 1 #GET /products/1.xml DEF顯示
@product = Product.find(params[:id])
respond_to do |format|
format.html # show.html.erb
format.xml { render :xml => @product }
end
端
#GET /產品/新 #GET /products/new.xml def new @product = Product.new
respond_to do |format|
format.html # new.html.erb
format.xml { render :xml => @product }
end
端
#GET /產品/ 1 /編輯 DEF編輯 @product = Product.find(PARAMS [:ID]) 端
#POST /產品 #POST /產品。 XML DEF創建 @product = current_user.products.new(PARAMS [:產品])
respond_to do |format|
if @product.save
format.html { redirect_to(@product, :notice => 'Product was successfully created.') }
format.xml { render :xml => @product, :status => :created, :location => @product }
else
format.html { render :action => "new" }
format.xml { render :xml => @product.errors, :status => :unprocessable_entity }
end
end
端
#PUT /產品/ 1 #PUT /products/1.xml DEF更新 @product = Product.find(PARAMS [:ID])
respond_to do |format|
if @product.update_attributes(params[:product])
format.html { redirect_to(@product, :notice => 'Product was successfully updated.') }
format.xml { head :ok }
else
format.html { render :action => "edit" }
format.xml { render :xml => @product.errors, :status => :unprocessable_entity }
end
end
端
#DELETE /產品/ 1 #DELETE /products/1.xml DEF破壞 @product = Product.find(PARAMS [:ID]) @ product.destroy
respond_to do |format|
format.html { redirect_to(products_url) }
format.xml { head :ok }
end
末 結束
產品controller.rb
class ProductsController < ApplicationController
before_filter :authenticate, :except => [:index, :show]
# GET /products
# GET /products.xml
def index
@products = Product.search(params[:search_query])
respond_to do |format|
format.html # index.html.erb
format.xml { render :xml => @products }
end
end
# GET /products/1
# GET /products/1.xml
def show
@product = Product.find(params[:id])
respond_to do |format|
format.html # show.html.erb
format.xml { render :xml => @product }
end
end
# GET /products/new
# GET /products/new.xml
def new
@product = Product.new
respond_to do |format|
format.html # new.html.erb
format.xml { render :xml => @product }
end
end
# GET /products/1/edit
def edit
@product = Product.find(params[:id])
end
# POST /products
# POST /products.xml
def create
@product = current_user.products.new(params[:product])
respond_to do |format|
if @product.save
format.html { redirect_to(@product, :notice => 'Product was successfully created.') }
format.xml { render :xml => @product, :status => :created, :location => @product }
else
format.html { render :action => "new" }
format.xml { render :xml => @product.errors, :status => :unprocessable_entity }
end
end
end
# PUT /products/1
# PUT /products/1.xml
def update
@product = Product.find(params[:id])
respond_to do |format|
if @product.update_attributes(params[:product])
format.html { redirect_to(@product, :notice => 'Product was successfully updated.') }
format.xml { head :ok }
else
format.html { render :action => "edit" }
format.xml { render :xml => @product.errors, :status => :unprocessable_entity }
end
end
end
# DELETE /products/1
# DELETE /products/1.xml
def destroy
@product = Product.find(params[:id])
@product.destroy
respond_to do |format|
format.html { redirect_to(products_url) }
format.xml { head :ok }
end
end
end
任何幫助嗎?
很多appricated我在這一段時間,並沒有想通了!
您的視圖屬於哪個操作? – ryudice 2012-07-25 22:27:48
該視圖是一個產品索引視圖,我只是粘貼form_for它的自我,因爲它沒有連接,這是我的第一個問題:) – user1529597 2012-07-25 22:30:17
你需要使用嵌套的資源,你可以發佈你的產品控制器? – ryudice 2012-07-25 22:34:55