Am getting the following error in ruby on rails:
ActiveRecord::UnknownAttributeError in AWRequestsController#new unknown
attribute: a_w_request_id.
I have a form that is tied to two models.
a_w_request.rb:
class AWRequest <ActiveRecord::Base
set_primary_key : request_id
set_table_name: w_r_details
attr_accessible : request_id,
:requester_contact,:needed_by,:w_a_details_attributes
has many: w_a_details, :dependent => :destroy
accepts_nested_attributes for :w_a_details, :allow_destroy => :true
:reject_if => proc {|attrs| attrs.all? {|k,v| v.blank? } }
end
w_a_detail.rb:
Class WADetail < ActiveRecord::Base
set_primary_key :w_a_detail_id
set_table_name “w_a_details”
attr_accessible :description,:request_id,:w_a_detail_id
belong_to :a_w_request, :foreign_key “request_id”
end
I do not have an attribute a_w_request_id in my table which acts as
foreign key instead i have request_id as foreign key in w_a_details
table which references request_id primary key in w_r_details table that
uses a_w_request model(specified using set_table_name property). Am
using oracle as my backend.
I get the error in the following line in my controller
@a_w_request.w_a_details.build
Below is my controller’s new and create methods:
def new
@a_w_request=AWRequest.new
@a_w_request.w_a_details.build
respond_to do |format|
format.html
format.json {render json:@a_w_request}
end
end
def create
@a_w_request=AWRequest.new(params[:a_w_request])
respond to do |format|
if @a_w_request.save
format.html{redirect_to @a_w_request,notice:‘request successfuly
created’}
format.json{render json: @a_w_request, status :created, location
:@a_w_request}
else
format.html {render action: “new”}
format.json { render json :@a_w_request.errors, status:
:unprocessable entity}
end
end
end
Here is my form: /a_w_request/_form.html.erb:
<%=nested_form_for(@a_w_request) do |f| %>
<%= f.text_field :requester_contact %>
<%= f.date_select :needed_by %>
<%= render :partial=>‘w_a_details/form’,:locals=>{:form=>f} %>
<%= f.link_to_add “add request”, :w_a_details %>
<%= f.submit %>
<% end %>
/w_a_details/_form.html.erb
<%=form.fields_for :w_a_details do |a| %>
<%=a.text_field :description %>
<%=a.link_to_remove “remove” %>
<% end %>