Dislpaying validation errors from one one model to view of another


I have a model,

class UserComment
belongs_to :user
validates :player_id, :presence => true
validates :comment, :uniqueness => { :scope => :player_id}

partial “comments” from User.
= simple_form_for @user, :html => {:class => ‘comment-form’}, :remote =>
true do |f|
= f.fields_for :user_comments do |uac|
= uac.input :comment, :as => :text, :input_html => {:rows => 5,
:width => 5}
= uac.button :submit, :value => ‘Comment’, :class => ‘btn’

When I click on submit button and if the validation receives any error
does not display it on the view. I am not sure where the problem is.

It looks like you’re not outputting your errors on your view.

If you go to your terminal/command line and try the following:

type ‘rails c’ to enter the rails console. Here we go do a quick bit of
testing to see if the errors are being captured.
type ‘user = User.new’, this’ll output a new User object.
type ‘user.errors’ If it returns Nil then you have a different problem
otherwise it’s a case of just displaying your errors.

In your view you could do something like…

<% if @user.errors %>

There was an error, please see below.

    <% @user.errors.full_messages.each do | msg | %>
  • <%= msg %>
  • <% end %>
<% end %>

I hope that helps.

On 18 December 2012 14:54, AdofEssex [email protected]

In your view you could do something like…
<% end %>

I hope that helps.

I was sending the errors to the view from the controller. I found out
since the errors where not from the base model (User) so it wasn’t
displaying them. Once I added them to the base using errors.add(:base,
“Error”), it started displaying the errors.