配置文件页面不显示状态名称和内容
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])
在这种情况下,当在数据库中找不到user
和id
时会抛出异常。
从 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
将会非常有用 :-) [我刚刚在我的计算机上测试过]。
我正在使用 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])
在这种情况下,当在数据库中找不到user
和id
时会抛出异常。
从 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
将会非常有用 :-) [我刚刚在我的计算机上测试过]。