Alright. Short and simple this time. Here is the code for
snippets/show.html.erb (showing the article):
<div class="span4">
<h1>Comments (<%= @snippet.comments.count %>)</h1>
<hr>
<% if signed_in? %>
<%= render 'shared/comment_form' %>
<% end %>
<% if @snippet.comments.any? %>
<%= render @comments %>
<% else %>
<p>There are no comments on this snippet.</p>
<% end %>
</div>
Here is comment.html.erb being showed by render @comments:
<div class="comment_container">
<%= gravatar_for comment.user, :size => 30 %> <span
class="username"><%= link_to comment.user.username, comment.user %>
commented <%= time_ago_in_words comment.created_at %></span>
<div class="comment_content"><%= comment.content %></div>
</div>
That is the code that isn't working and is giving the error. The only
thing that will display is comment.content.
And here is the log output. Seems to be properly getting the user data
for each comment, but comment.user isn't working. If I'm way off, let me
know again. At the very least I'm learning to better communicate issues
on this style of forum (sadly at the expense of peoples time).
(0.1ms) SELECT COUNT(*) FROM "comments" WHERE
"comments"."snippet_id" = 4
Rendered shared/_comment_form.html.erb (19.5ms)
CACHE (0.0ms) SELECT COUNT(*) FROM "comments" WHERE
"comments"."snippet_id" = 4
Comment Load (0.3ms) SELECT "comments".* FROM "comments" WHERE
"comments"."snippet_id" = 4 ORDER BY comments.created_at ASC
User Load (0.2ms) SELECT "users".* FROM "users" WHERE "users"."id" =
14 LIMIT 1
User Load (0.2ms) SELECT "users".* FROM "users" WHERE "users"."id" =
15 LIMIT 1
CACHE (0.0ms) SELECT "users".* FROM "users" WHERE "users"."id" = 14
LIMIT 1
Rendered comments/_comment.html.erb (27.5ms)
Rendered snippets/show.html.erb within layouts/application (172.9ms)
Completed 500 Internal Server Error in 21602ms
ActionView::Template::Error (undefined method `email' for nil:NilClass):
1: <div class="comment_container">
2: <%= gravatar_for comment.user, :size => 30 %> <span
class="username"><%= link_to comment.user.username, comment.user %>
commented <%= time_ago_in_words comment.created_at %></span>
3: <div class="comment_content"><%= comment.content %></div>
4: </div>
app/helpers/users_helper.rb:7:in `gravatar_for'
app/views/comments/_comment.html.erb:2:in
`_app_views_comments__comment_html_erb___715147692_2186695040'
app/views/snippets/show.html.erb:24:in
`_app_views_snippets_show_html_erb__1112126603_2190824420'
Colin Law wrote in post #1071379:
> On 5 August 2012 21:48, Steve Morrissey <[email protected]> wrote:
>> communication (which is even harder to grasp while viewing the
>>>>
>> of this yet. As a direhard PHP programmer, getting my mind into Rails
>> When _comment_form.html.erb looked like that I was able to get comments
>> displaying of comments to break, which is not associated.
>> comment form broke the displaying of comments, though I'm sure its a
>> fairly basic error I'm encountering. Especially since, on the comments
>> partial, I'm still able to see the comment.content, just none of the
>> comment.user (who made the comment) information.
>
> Sorry, much too much information again. Don't complicate it by
> telling us about which bits do work or used to work, just pick out the
> bit of code that is not working and show us that. Put debug code in
> so that you can tell us what data is going in and explain what is
> going wrong. We have not (or at least I do not) have time to wade
> through all that information. If you have multiple problems then
> start off with just one of them.
>
> There will only be a dozen or so lines of code so just put it inline.
>
>>
>> 1 beer for anyone who can help guide this lost soul :)
>
> I am doing my best, but you must keep the question simple.
>
> Colin
--
Posted via http://www.ruby-forum.com/.
--
You received this message because you are subscribed to the Google Groups "Ruby
on Rails: Talk" group.
To post to this group, send email to [email protected].
To unsubscribe from this group, send email to
[email protected].
For more options, visit https://groups.google.com/groups/opt_out.