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