<% form_for (:contact,:url=>{:controller=>‘contact’,:action =>
‘update’,:id => @contact},:html=> {:onSubmit => ‘return validate()’, :id
=> ‘savecontact’} ) do -%>
.
.
.
.
Email Addresses | |
---|---|
<%= e.select ('email_type',%w{Business Personal}, :include_blank => false) %> <%= e.text_field :email,:size=>"35",:maxlength=>"80" %> <%= e.radio_button ('isprimary', '1') %>Primary |
def update
@contact = Contact.find(params[:id])
if @contact.update_attributes!(params[:contact])
flash[:notice] = “The contact has been updated successfully.”
redirect_to :action => ‘view’, :id => @contact
else
render :action => ‘edit’
end
end
is throwing the following error
can’t convert String into Integer
RAILS_ROOT: E:/ruby1/Ruby/BCMS
Application Trace | Framework Trace | Full Trace
app/models/contact.rb:11:in []' app/models/contact.rb:11:in
email_attributes=’
app/models/contact.rb:10:in each' app/models/contact.rb:10:in
email_attributes=’
app/controllers/contact_controller.rb:59:in `update
Where am i going wrong…??
and my contact.rb is class Contact < ActiveRecord::Base
belongs_to :company, :counter_cache => false
has_many :users
has_many :addresses
has_many :emails
has_many :phones
validates_presence_of :namefirst, :namelast,:message=>‘Database
Validation Error from Contact’
def email_attributes=(email_attributes)
email_attributes.each do |attributes|
emails.build(attributes) unless attributes[“email”].empty?
end
end
plz help