Rails 3.1 неопределенный метод `content 'для nil: NilClass, создающий приложение в стиле твиттера - PullRequest
0 голосов
/ 13 февраля 2012

У меня есть и пользователи могут войти в систему и просмотреть свой профиль с помощью формы для ввода своего статуса.То, что набрал пользователь, можно увидеть только, скажем, «его друзья» прямо сейчас, не работали над этим, но «его друзья» не могут видеть это.например, я запускаю up и, не входя в систему, я попадаю в профиль пользователя, без входа в систему приложение отображает статус, введенный пользователем, и именно тогда я получаю сообщение об ошибке: неопределенный метод 'content' для nil: NilClass

вот мой пользовательский контроллер:

    class UsersController < ApplicationController
 def show
@user = User.find(params[:id])
@microsposts = @user.microsposts.paginate(:page => params[:page])
end

 def create

    @microspost = current_user.microsposts.build(params[:microspost])

     if @microspost.save
        flash[:success] = "Micropost created!"
        redirect_to current_user
    else
       render 'home/index'
    end
  end


end

_microspost.html.erb:

  <%= microspost.content %>

_microspost_form.html.erb:

        <%= form_for @microspost do |f| %>
             <!--<render 'error_messages', :object => f.object %>-->
       <div class="field">
       <%= f.text_area :content %>
          </div>
      <div class="actions">
       <%= f.submit "Submit" %>
     </div>
  <% end %>

I 'Я застрял на этом, я так расстроен, я работал над приложением ежедневно с 4 до 4 утра, теперь я должен остановиться на 45 минут раньше, потому что я просто не могу продолжать отладку, это было 2 часа.

Я ценю помощь парня и девочек ....

и вот часть show.html:

    <% unless @user.microsposts.empty? %>
        <table class="microposts" summary= "User microposts">
      <%= render 'microspost' %>
      </table>
        <!--will_paginate @microsposts %>-->

        <% end %>

          <td class="sidebar round">
            <strong>Name:</strong> <%= @user.username %><br />
             <strong>URL:</strong> <%= link_to user_path(@user), @user %><br />
      <strong>Microposts:</strong><%= @user.microsposts.count %>
     </td>
     <% if signed_in? %>
        <table class = "front" summary="For signed in users">
  <tr>
    <td class="main">
        <h1 class="micropost">What you doin?</h1>
        <%= render 'microspost_form' %>
        </td>
        <td class ="sidebar round">
            <%= render 'user_info' %>
            </td>
            </tr>
            </table>
            <% else %>
            <h1>testing test</h1>
            <% end %>

1 Ответ

0 голосов
/ 13 февраля 2012

Попробуйте заменить <%= render 'microspost' %> на

  • <%= @user.microsposts %>, если @user.microsposts является объектом класса Micropost

  • <%= render :partial => 'microspost', :object => @user.microsposts %> иначе

...