Current_user&&用户资料

时间:2016-03-08 06:15:02

标签: ruby-on-rails ruby if-statement

因此,在我的待办事项应用程序中,我为每个用户创建了一个配置文件,显示了他们创建的所有项目的列表,如下所示:

<% if current_user %>
<h1>Hello, <%= current_user.username.capitalize%>, </h1>
<% else %>
<h1><%= @user.username.capitalize%> To - Do List. </h1>
<%end %>

<h4> List of Items </h4>
<%= render :partial => 'items/form', :locals =>{:item => Item.new} %>
<% @user.items.order('created_at DESC').each do |item| %>
<%= render :partial => 'items/item' , :locals => {:item => item } %>
<% end %>

我的问题是,我希望用户能够查看其他用户个人资料,但是根据正在查看的人更改标题。

<h1>Hello, <%= current_user.username.capitalize%>, Here is your To-do Items</h1>

如果current_users拥有个人资料或:

<h1><%= @user.username.capitalize%> To - Do List. </h1>

如果用户正在查看其他用户个人资料。

正如你所看到的,我尝试了一些带有if语句的东西,但它似乎并没有像我想要的那样工作。任何人都可以帮助我吗?

3 个答案:

答案 0 :(得分:3)

在if条件下尝试使用current_user == @ user。

如果current_user可能为nil,那么

试试current_user.present? &安培;&安培; current_user == @ user in if condition。

答案 1 :(得分:2)

在您的控制器中,您可能有:

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

然后在你的视野中的某些内容

<% if current_user == @user %>

答案 2 :(得分:2)

使用此代码:

 current_user == @user if condition.