I added a validation to one of my models, now Rails is telling me to add validation to the partial. Help!

Posted by marcamillion on Stack Overflow See other posts from Stack Overflow or by marcamillion
Published on 2011-02-15T23:21:40Z Indexed on 2011/02/15 23:25 UTC
Read the original article Hit count: 285

Filed under:
|

This is the error I am getting:

ArgumentError in Home#index

Showing /app/views/clients/_form.html.erb where line #6 raised:

You need to supply at least one validation
Extracted source (around line #6):

3:   render :partial => "clients/form", 
4:          :locals => {:client => client}
5: -%>
6: <% client ||= Client.new 
7:    new_client = client.new_record? %>
8: <%= form_for(client, :html => { :class=>"ajax-form", :id => "client-ajax-form"}, :remote => true, :disable_with => (new_client ? "Adding..." : "Saving...")) do |f| %>
9:  <div class="validation-error" style="display:none"></div>

My client model looks like this:

class Client < ActiveRecord::Base
  # the user model for the client
  belongs_to :user

  has_many :projects, :order => 'created_at DESC', :dependent => :destroy

  #The following produces the designers for a particular client.
  #Get them from the relations where the current user is a client.
  has_one :ownership, :dependent => :destroy

  has_one :designer, :through => :ownership


  validates :name, :presence => true,
                   :length => {:minimum => 1, :maximum => 128}

  validates :number_of_clients

  def number_of_clients
     Authorization.current_user.clients.count <= Authorization.current_user.plan.num_of_clients    
  end

end

This is how the app/views/client/_form.html.erb partial looks:

  <%# 
  Edit a single client
  render :partial => "clients/form", 
         :locals => {:client => client}
-%>
<% client ||= Client.new 
   new_client = client.new_record? %>
<%= form_for(client, :html => { :class=>"ajax-form", :id => "client-ajax-form"}, :remote => true, :disable_with => (new_client ? "Adding..." : "Saving...")) do |f| %>
    <div class="validation-error" style="display:none"></div>
      <div>
        <label for="client_name"><span class="icon name-icon"> </span></label>
        <input type="text" class="name" size="20" name="client[name]" id="client_name" value="<%=  client.name %>" >    <%= f.submit(new_client ? "Add" : "Save", :class=> "green awesome")%>
    </div>
<% end %>
<% content_for(:deferred_js) do %>
// From the Client Form
$('#client-ajax-form')
    .bind("ajax:success", function(evt, data, status, xhr){
    console.log("Calling Step View");
    compv.updateStepView('client', xhr);
});
<% end %>

How do I fix that error ?

© Stack Overflow or respective owner

Related posts about validation

Related posts about ruby-on-rails-3