Here is my stackoverflow question I posted

http://stackoverflow.com/questions/27208065/creating-a-contact-form-that-updates-2-tables

Here is the question if you do not want to visit the website



I am trying to create a form that updates 2 tables in my database. I'm not
quite sure how to build this contact form quite yet. So my first short term
goal is to simply update my `contact_requests` and `users` tables. I am
aiming to do a `one to many` relationship between `users` and
`contact_requests`. This allows one `user` to have many `contact_requests`.
I am new to rails so I feel like there are gaps in my code and I am making
some mistakes as well.

I currently have a `user` table and a `contact_request` table:

![enter image description here][1]

`user_id` from the `contact_requests` table is a foreign key that
references `users.id`

Here is by current schema code:

     ActiveRecord::Schema.define(version: 20141127114323) do
       create_table "contact_requests", force: true do |t|
         t.datetime "created_at", null: false
         t.datetime "updated_at", null: false
         t.string "message", null: false
         t.integer "user_id"
       end

       add_index "contact_requests", ["user_id"], name:
"index_contact_requests_on_user_id", using: :btree

       create_table "users", force: true do |t|
         t.datetime "created_at", null: false
         t.datetime "updated_at", null: false
         t.string "first_name", null: false
         t.string "last_name", null: false
         t.string "email", null: false
         t.string "phone_number"
       end
     end

Here are my models and controllers:

     class User < ActiveRecord::Base
       has_many :contact_requests
       # validate the presence of the attributes
       validates(:first_name, presence: true)
       validates(:last_name, presence: true)
       validates(:email, presence: true)
     end

     class ContactRequest < ActiveRecord::Base
       belongs_to :user
       validates :user_id, presence: true
       validates :message, presence: true, length: { maximum: 500 }
     end

     class ContactController < ApplicationController
       def new
       @user = User.new
       @contact_request = ContactRequest.new
       end
     end


I am getting this error:

![enter image description here][2]


form:

     <%= form_for(:contact, remote: true, class: "contact-input") do |f| %>
           <div class="col-md-12">
             <div class="col-md-6">
               <div class="contact-input-margin form-group">
                 <%= f.text_field(:user, :first_name, class: "form-control",
placeholder: "First name")%>
               </div>
               <div class="contact-input-margin form-group">
                 <%= f.text_field(:user, :last_name, class: "form-control",
placeholder: "Last name") %>
               </div>
               <div class="contact-input-margin form-group">
                 <%= f.email_field(:user, :email, class: "form-control",
placeholder: "Email") %>
               </div>
               <div class="contact-input-margin form-group">
                 <%= f.telephone_field(:user, :phone_number, class:
"form-control", placeholder: "Phone number") %>
               </div>
             </div>
             <div class="contact-input-margin col-md-6">
               <div class="form-group">
                 <%= f.text_area(:contact_request, :message, class:
"form-control contact-margin", rows: "8", placeholder: "Message...") %>
               </div>
             </div>
           </div>
           <%= f.submit(class: "btn btn-xl") %>
         <% end %>


   [1]: http://i.stack.imgur.com/HE7KZ.png
   [2]: http://i.stack.imgur.com/hmMT5.png


--
You received this message because you are subscribed to the Google Groups "Ruby on Rails: Talk" group.
To unsubscribe from this group and stop receiving emails from it, send an email to rubyonrails-talk+unsubscribe@googlegroups.com.
To post to this group, send email to rubyonrails-talk@googlegroups.com.
To view this discussion on the web visit https://groups.google.com/d/msgid/rubyonrails-talk/d5c255bb-200f-4282-a432-c4a5cc5a5047%40googlegroups.com.
For more options, visit https://groups.google.com/d/optout.

Search Discussions

Related Discussions

Discussion Navigation
viewthread | post
Discussion Overview
grouprubyonrails-talk @
categoriesrubyonrails
postedNov 29, '14 at 11:14p
activeNov 29, '14 at 11:14p
posts1
users1
websiterubyonrails.org
irc#RubyOnRails

1 user in discussion

Bradford li: 1 post

People

Translate

site design / logo © 2021 Grokbase