No Method Error in MasterkeysController#search

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

In the view you can run <%= debug(@masterkey) %> to inspect the
object, which will probably give you a clue to what the problem is