Rails 3.1 undefined 方法 'content' for nil:NilClass, make twitter style app



我有一个,用户可以登录并查看他们自己的配置文件,并在表单中键入他们的状态。用户键入的内容现在只能通过说"他的朋友"来查看,还没有处理,但"他的朋友们"看不到。例如,我运行了up,在没有登录的情况下,我进入了用户的个人资料,在没有我登录的情况下,应用程序会显示用户键入的状态,这时我就会收到错误:nil:NilClass 的未定义方法"content"

这是我的用户控制器:

    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

_micropost.html.erb:

  <%= microspost.content %>

_micropost_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 %>

我被这个卡住了,我很沮丧,我每天都在开发一个应用程序,从不到凌晨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 %>

尝试用替换<%= render 'microspost' %>

  • 如果@user.microsposts是类Micropost 的对象,则为<%= @user.microsposts %>

  • <%= render :partial => 'microspost', :object => @user.microsposts %>否则

最新更新