Forum: Ruby on Rails Dislpaying validation errors from one one model to view of another.

Announcement (2017-05-07): is now read-only since I unfortunately do not have the time to support and maintain the forum any more. Please see and for other Rails- und Ruby-related community platforms.
Sumit Srivastava (Guest)
on 2012-12-18 05:31
(Received via mailing list)

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.
AdofEssex (Guest)
on 2012-12-18 10:25
(Received via mailing list)
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 =', 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 %>
  <div class="errors">
    <p>There was an error, please see below.</p>
      <% @user.errors.full_messages.each do | msg | %>
        <li><%= msg %></li>
      <% end %>
<% end %>

I hope that helps.
sumit srivastava (Guest)
on 2012-12-18 10:30
(Received via mailing list)
On 18 December 2012 14:54, AdofEssex <>

> 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.
This topic is locked and can not be replied to.