无法从我的if!= nil语句中获得正确的结果

时间:2016-07-07 12:49:10

标签: ruby-on-rails if-statement

初学者警报!
我在user#show视图中有这个IF语句。我在rails控制台中检查了user_id:7是否有任何帖子,它返回结果 nil ,但当我查看http://localhost:3000/users/7时,我看不到评论:< / p>

  

你还没有任何帖子。继续发帖!

<% @posts.each do |post| %>
<% if @posts != nil %>
<%= link_to "#{post.title}", post_path(post) %>
<% else %>
<p> You don't have any post yet. Keep posting! </p>
<% end %>
<% end %>

有人能帮帮我吗?谢谢!

2 个答案:

答案 0 :(得分:0)

如果变量@posts为空,则无法获得<p> You don't have any post yet. Keep posting! </p>

User.find(7).posts将返回一个数组。 an empty array != nil

试试这个:

<% if !@posts.blank? %>
  <% @posts.each do |post| %>
     <%= link_to "#{post.title}", post_path(post) %>
  <% end %>
<% else %>
  <p> You don't have any post yet. Keep posting! </p>
<% end %>

答案 1 :(得分:0)

我认为你需要的是:

priceMessage