У меня довольно сложные (для меня) операторы для написания в Rails.Под show.html.erb
моего Person.rb
, который является профилем пользователя.Каждый post
имеет в базе данных столбец status
со значениями draft
или published
.
<% if @posts.blank? %>
No post.
<% else %>
<% if @person == current_user %>
<% @posts.each do |post| %>
Post title... (where all published and draft posts are shown)
<% end %>
<% else %>
<% @posts.each do |post| %>
<% if post.status == "published" %>
Post title (where only published posts are shown, draft posts are hide from other users)
<% end %>
<% end %>
<% end %>
<% end %>
. Вот проблема.Предположим, что у User A
есть 1 опубликованный пост и 1 черновик, он работает нормально;но если User B
имеет 2 черновика сообщений, по праву никакие сообщения не будут показаны другим пользователям, но я хочу, чтобы он показывал No post
, как и первые две строки кода.
Я пытался named_scope
в своемPost.rb
руководствуется здесь , но когда я подаю заявку. Опубликовал, она просто вернула мне неопределенную ошибку.
Пожалуйста, научите меня, как этого добиться.Большое спасибо.