undefined method `pin’ for “Masterkey_2304”:String
Extracted source (around line #3):
1:
2: Pin:
3: <%=h @masterkey.pin %>
4:
5:
6:
RAILS_ROOT: D:/CRIMPROF
Request
Parameters:
{“Search”=>“Search”,
“pin”=>“2304”}
Response
Headers:
{“Content-Type”=>“text/html”,
“Cache-Control”=>“no-cache”}
please find the problem and my model looks like…
class Masterkey < ActiveRecord::Base
has_one :crimprofs
set_table_name “MASTERKEY”
set_primary_key :pin
def self.find_all_elements(masterkey)
tablename2 = masterkey
find_by_sql [‘SELECT * FROM ?’,tablename2]
end
validates_uniqueness_of :pin, :scope => :pin
end
and My Controller looks like
class MasterkeysController < ApplicationController
protect_from_forgery :only => [:create, :delete, :update]
GET /masterkeys
GET /masterkeys.xml
def index
@masterkeys = Masterkey.all
respond_to do |format|
format.html # index.html.erb
format.xml { render :xml => @masterkeys }
end
end
GET /masterkeys/1
GET /masterkeys/1.xml
def show
@masterkey = Masterkey.find(params[:id ])
@rcn = @masterkey.rcn
puts params[:id ]
puts @rcn
respond_to do |format|
format.html # show.html.erb
format.xml { render :xml => @masterkey }
end
end
GET /masterkeys/new
GET /masterkeys/new.xml
def new
@masterkey = Masterkey.new
respond_to do |format|
format.html # new.html.erb
format.xml { render :xml => @masterkey }
end
end
GET /masterkeys/1/edit
def edit
@masterkey = Masterkey.find(params[:id])
end
POST /masterkeys
POST /masterkeys.xml
def create
hashMaster = params[:masterkey]
@masterkey = Masterkey.new()
@masterkey.pin=hashMaster[:pin]
@masterkey.rcn = hashMaster[:rcn]
respond_to do |format|
if @masterkey.save
flash[:notice] = ‘Masterkey was successfully created.’
format.html { redirect_to(@masterkey) }
format.xml { render :xml => @masterkey, :status => :created,
:location => @masterkey }
else
format.html { render :action => “new” }
format.xml { render :xml => @masterkey.errors, :status =>
:unprocessable_entity }
end
end
end
PUT /masterkeys/1
PUT /masterkeys/1.xml
def update
@masterkey = Masterkey.find(params[:id])
respond_to do |format|
if @masterkey.update_attributes(params[:masterkey])
flash[:notice] = 'Masterkey was successfully updated.'
format.html { redirect_to(@masterkey) }
format.xml { head :ok }
else
format.html { render :action => "edit" }
format.xml { render :xml => @masterkey.errors, :status =>
:unprocessable_entity }
end
end
end
DELETE /masterkeys/1
DELETE /masterkeys/1.xml
def destroy
@masterkey = Masterkey.find(params[:id])
@masterkey.destroy
respond_to do |format|
format.html { redirect_to(masterkeys_url) }
format.xml { head :ok }
end
end
def search
pin_id= params[:pin]
pin = pin_id.to_i
@pin = Masterkey.find(pin)
@masterkey = “Masterkey_#{@pin.id}”
puts @pin
@rcn = Masterkey.find_by_sql ("select rcn from masterkey where pin
=" + pin_id)
puts @rcn
respond_to do |format|
format.html
format.xml { render :xml => @masterkey }
end
end
end