Rails form submission not validating

I have a form with only one field called secretcode to submit. But when
I submit it, the data is saved. But I need to do form validation for
this field. I have given validates_presence_of :secret in the Secretcode
Model. when I submit it without entering anything in secret code field,
then it is showing as "undefined method `model_name' for
NilClass:Class".. Please help. I am learning rails by doing..

new.html.erb

<%=form_for(@secretcode) do |f|%> <%= render 'layouts/error' %>
<%=f.label :secret%> <%= f.text_field :secret %>

<%=f.submit :generate%> <%end%>

Secretcode Model

class Secretcode < ActiveRecord::Base belongs_to :user
attr_accessible :secret validates(:secret, :presence=> true) end

secretcodes controller

I have a form with only one field called secretcode to submit. But when
I submit it, the data is saved. But I need to do form validation for
this field. I have given validates_presence_of :secret in the Secretcode
Model. when I submit it without entering anything in secret code field,
then it is showing as "undefined method `model_name' for
NilClass:Class".. Please help. I am learning rails by doing..

You say that if the field is empty you get the error. Do you get the
error if there is something in the field?

If you look at the error message and stack trace it may tell you where
in your code it is failing. Proibably something that you have setup
is nil. If you still can't see the problem then post the full error
message and stack trace and tell us which line of your code it is
referencing (if any).

new.html.erb

<%=form_for(@secretcode) do |f|%> <%= render 'layouts/error' %>
<%=f.label :secret%> <%= f.text_field :secret %>

<%=f.submit :generate%> <%end%>

Secretcode Model

class Secretcode < ActiveRecord::Base belongs_to :user
attr_accessible :secret validates(:secret, :presence=> true) end

I hope there are some newines in the above

secretcodes controller

def create
    @code= Secretcode.new(params[:secretcode])
    if @code.save
      p "It is saved..........."
      redirect_to @code
    else
      render 'new'
    end

Can you show us the code for the new action in the controller also please?

Colin

Colin Law wrote in post #1079996:
I have a form with only one field called secretcode to submit. But when
I submit it, the data is saved. But I need to do form validation for
this field. I have given validates_presence_of :secret in the
Secretcode
Model. when I submit it without entering anything in secret code field,
then it is showing as "undefined method `model_name' for
NilClass:Class".. Please help. I am learning rails by doing..

You say that if the field is empty you get the error. Do you get the
error if there is something in the field?

If you look at the error message and stack trace it may tell you where
in your code it is failing. Proibably something that you have setup
is nil. If you still can't see the problem then post the full error
message and stack trace and tell us which line of your code it is
referencing (if any).

   class Secretcode < ActiveRecord::Base belongs_to :user
attr_accessible :secret validates(:secret, :presence=> true) end

I hope there are some newines in the above

     else
      render 'new'
     end

Can you show us the code for the new action in the controller also
please?

Colin

And the other questions I asked?

Colin