Я использую Rails 3 в своем проекте.

В контроллере> статьи В поле зрения> index.html.erb

<% if @articles.blank? %>
<%= render :partial => "blank" %>

Я не хочу писать наборы запросов в представлениях для проверки (если пусто, сделайте это или сделайте это) Как я могу передать пустой лист (если набор запросов пуст) внутри контроллера?

Спасибо.

8
Harry 11 Янв 2011 в 21:55
Почему вы не хотите проверять, пуст ли @articles в представлении?
 – 
Brian Donovan
11 Янв 2011 в 22:04

3 ответа

Лучший ответ

Вы также можете сделать переключатель в контроллере.

def index
  @articles = Article.all
  render "index_without_articles" if @article.nil?
end
7
Andreas Richter 12 Янв 2011 в 20:00

Я считаю, что вам нужен render_to_string. Дополнительную информацию о рендеринге в Рельсы 3.

7
Brian Donovan 11 Янв 2011 в 22:04

Возможно, это обходной путь, но это довольно простое решение

<%= render :partial => "blank_#{@articles.blank?}" %>

И иметь две части, называемые _blank_true.html.erb и _blank_false.html.erb

0
gicappa 12 Янв 2011 в 02:38