配置文件页面不显示状态名称和内容

Profile Page not Showing The Statuses name and content

我正在使用 rails 创建一个 Facebook 克隆,但我被个人资料页面卡住了,没有显示状态和内容。这是代码文件:

Apps/Controller/profiles_controller.rb

class ProfilesController < ApplicationController
   def show
    @user = User.find_by_profile_name(params[:id])
    if @user
        @statuses = @user.statuses.all
        render action: :show
    else
    render file: 'public/404' , status: 404 , formats: [:html]
    end
  end
end

Apps/views/profiles/show.html.erb

<%if @statuses%>

    <% @statuses.each do |status| %>
    <%= status.content %>

  <% end %>
<% end %>

在您的控制器操作中,要获取 user,您应该这样做:

@user = User.find_by_id(params[:id])

此外,您可以使用 find 方法代替 find_by_id:

@user = User.find(params[:id])

在这种情况下,当在数据库中找不到userid时会抛出异常。

从 github:

处理您的项目后更新

所以,你有一些问题。要解决这些问题,请执行:

在您的 config/routes.rb 文件中添加:

resources :profiles

apps/views/profiles/show.html.erb改为:

<% if @statuses %>
      <% @statuses.each do |status| %>
             <div class="well"/>
              <%= status.content %>
       <%end%>
<%end%>

profiles_controller.rb中您已经有了正确的代码:

class ProfilesController < ApplicationController
   def show
     @user = User.find_by_id(params[:id])

     if @user
       @statuses = @user.statuses.all
       render action: :show
     else
       render file: 'public/404' , status: 404 , formats: [:html]
     end
  end
end

进行这些更改后,您的个人资料页面 http://localhost:3000/profiles/1 将会非常有用 :-) [我刚刚在我的计算机上测试过]。