ruby-on-rails – 为未命名为“:id”的数据库设置主键
发布时间:2020-12-17 04:00:00 所属栏目:百科 来源:网络整理
导读:我正在使用:rails 2.3.5 ruby?? 1.8.7和 Windows 7 Home Basic 我得到了一个数据库,我将它连接到rails,没有任何问题从读取和从中获取数据.现在我想要做的是在其中添加一些功能(添加,编辑和删除),但是当我尝试通过执行以下代码将主键设置为表的主键(ProductC
我正在使用:rails 2.3.5
ruby?? 1.8.7和
Windows 7 Home Basic
我得到了一个数据库,我将它连接到rails,没有任何问题从读取和从中获取数据.现在我想要做的是在其中添加一些功能(添加,编辑和删除),但是当我尝试通过执行以下代码将主键设置为表的主键(ProductCode)时: class Product < ActiveRecord::Base self.primary_key :ProductCode end 在执行@products = Product.find(:all,:limit => 10)时出现此错误: PosController#index中的ArgumentError 我怎么解决这个问题? 这是我的控制器代码: class PosController < ApplicationController def index @cards = Card.find(:all) @products = Product.find(:all,:limit => 10) end def new @pro = Product.new end def edit @pro = Product.find(params[:id]) end def update @pro = Product.find(params[:id]) if session[:user_id] @log = "Welcome Administrator!" @logout="logout" else @log = "Admin Log in" @logout="" end respond_to do |format| if @pro.update_attributes(params[:product]) flash[:notice] = 'product was successfully updated.' format.html { redirect_to(:controller => "pos",:action => "index") } format.xml { head :ok } else format.html { render :action => "edit" } format.xml { render :xml => @pro.errors,:status => :unprocessable_entity } end end end def create @pro = Product.new(params[:product]) respond_to do |format| if @pro.save flash[:notice] = 'product was successfully created.' format.html {redirect_to (:controller => "pos",:action => "index")} #format.xml { render :xml => @product,:status => :created,:location => @product } else format.html { render :controller => "pos",:action => "new" } #format.xml { render :xml => @product.errors,:status => :unprocessable_entity } end end end def destroy @pro = Product.find(params[:id]) @pro.destroy respond_to do |format| flash[:notice] = 'product was successfully deleted.' format.html { redirect_to(:controller => "pos",:action => "index") } format.xml { head :ok } end end end 解决方法
设置主键列的名称.
self.primary_key =“product_code” (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |