使用Ruby On Rails在控制器中渲染部分

时间:2011-01-11 18:55:54

标签: ruby-on-rails ruby-on-rails-3

我在我的项目中使用Rails 3.

在控制器>用品 在视图中> index.html.erb

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

我不想在视图中为checkin编写查询集(如果为空则执行此操作或执行此操作) 如何在控制器内传递空白石板部分(如果查询集为空)?

感谢。

3 个答案:

答案 0 :(得分:7)

我相信你想要render_to_string。有关在Rails 3中渲染的更多信息,请参阅this blog post

答案 1 :(得分:7)

您也可以在控制器中进行切换。

def index
  @articles = Article.all
  render "index_without_articles" if @article.nil?
end

答案 2 :(得分:0)

也许这是一种解决方法,但这是一个非常简单的解决方案

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

并且有两个名为“_blank_true.html.erb”和“_blank_false.html.erb”的部分