unable to update the database table using forms

My forms looks like this and it is for UserPreference Model

user_preference.rb

<%= form_for @user_preference do |u|%> <p>     <%= u.label :title %><br>     <%= u.text_field :title %>   </p>

  <p>     <%= u.label :description %><br>     <%= u.text_field :description %>   </p>

  <p> <%= u.label :back_ground_color %><br>     <select name="bgcolor" id="bgcolor">       <option value="#FF3300">Orange</option>       <option value="#00FF00">Green</option>       <option value="#0000FF">Blue</option>       <option value="#FF0066">Pink</option>       <option value="#FFFF00">Yellow</option>       <option value="#FFFFFF">White</option>   </select>   </p>

  <p>     <%= u.label :font %><br>     <select name="font" id="font">       <option value="Times New Roman">Times new Roman</option>       <option value="Verdana">Verdana</option>       <option value="Arial">Arial</option>       <option value="sans-serif">serif</option>   </select>   </p>

<br >   <p>     <%= u.submit %>   </p>

user_preferences_controller.rb looks like this: class UserPreferencesController < ApplicationController   def new     @user_preference = UserPreference.new   end

  def create     @user_preference = UserPreference.new(userp_params)     @user_preference.save unless user_signed_in?     render plain: params[:user_preference].inspect   end   def edit   end   def update   end

  private   def userp_params     params.require(:user_preference).permit(:title, :bgcolor, :font, :description)   end end

When I am trying to render params for user_preference I am getting only title and description

Look in development.log to see what happens when you perform the submit. Then you will see what params are being passed in, and the sql performed.

However I would have expected to see calls to u.select( ... ) rather than straight html for the select boxes.

Colin