my models
borrower ----- has_many :loans
loan ----- belongs_to :borrower
my loans _controller
def new
@borrower = Borrower.find(params[:borrower_id])
logger.debug ' @borrower.id '
logger.debug @borrower.id
@loan = Loan.new
respond_to do |format|
format.html # new.html.erb
format.xml { render :xml => @loan }
end
end
def create
logger.debug ' @borrower.id '
logger.debug @borrower.id
@loan = Loan.new(params[:loan])
respond_to do |format|
if @loan.save
format.html { redirect_to(@loan , :notice => 'Loan was
successfully created.') }
format.xml { render :xml => @loan , :status
=> :created, :location => @loan }
else
format.html { render :action => "new" }
format.xml { render :xml => @loan.errors , :status
=> :unprocessable_entity }
end
end
end
in my views i am passing value like this
<%= link_to 'New Loan', :controller => 'loans', :action =>
'new', :borrower_id => @borrower.id %>
every thing working fine in Action new logger.debug
@borrower.id Gives id
but on create it does not shows anything
Where i am wrong and did something i missed i wanna save @borrower.id
in @loans.borrower_id
Please help thanks in advance
If the issue is in the create action please provide the corresponding
code. Model code would be helpful too.
Luke
I have two modelds
loan model belongs_to :borrower
borrower model has_many:loans
In my borrower Show method i wrote
<%= link_to 'Request New Loan', :controller => 'loans', :action => 'new', :id => @borrower.id %>
my loans_controller have this
def new
@borrower = Borrower.find(params[:id])
@loan = Loan.new
respond_to do |format|
format.html # new.html.erb
format.xml { render :xml => @loan }
end
end
def create
@loan = Loan.new(params[:loan])
@borrower = Borrower.find(params[@borrower_id ])
respond_to do |format|
if @loan.save
format.html { redirect_to(@loan, :notice => 'Loan was successfully created.') }
format.xml { render :xml => @loan, :status => :created, :location => @loan }
else
format.html { render :action => "new" }
format.xml { render :xml => @loan.errors, :status => :unprocessable_entity }
end
end
end
On loan create Giving error can not find borrower without an id but on new method’si am getting borrower id prints very well .
where i am wrong
Colin_Law1
(Colin Law)
September 6, 2010, 10:14am
4
I have two modelds
loan model belongs_to :borrower
borrower model has_many:loans
In my borrower Show method i wrote
<%= link_to 'Request New Loan', :controller => 'loans', :action => 'new', :id => @borrower.id %>
my loans_controller have this
def new
@borrower = Borrower.find(params[:id])
@loan = Loan.new
respond_to do |format|
format.html # new.html.erb
format.xml { render :xml => @loan }
end
end
def create
@loan = Loan.new(params[:loan])
@borrower = Borrower.find(params[@borrower_id ])
Compare this line to the equivalent line in the new action. What is the @ doing inside the ? I don’t know whether it should be borrower_id or not, that depends on what params are being passed. Look in the log to see what the params are when you click on create.
Colin