Ruby on rails rails在一次调用中呈现多个部分
有人能给我一个好方法,在一个方法中返回多个东西,并在视图中将它们作为不同的部分呈现吗Ruby on rails rails在一次调用中呈现多个部分,ruby-on-rails,ruby,ruby-on-rails-3,ruby-on-rails-3.2,ruby-on-rails-3.1,Ruby On Rails,Ruby,Ruby On Rails 3,Ruby On Rails 3.2,Ruby On Rails 3.1,有人能给我一个好方法,在一个方法中返回多个东西,并在视图中将它们作为不同的部分呈现吗 def tasks if task1.present? ['task1_summary', task1: task1] if task2.present? ['task2_programs', task2: task2] if task3.present? ['task3', program: task3] else [empty: '']
def tasks
if task1.present?
['task1_summary', task1: task1]
if task2.present?
['task2_programs', task2: task2]
if task3.present?
['task3', program: task3]
else
[empty: '']
end
end
我认为:
= render *tasks
上面的代码只会呈现一个部分
我正在尝试找出一种方法,如果上述所有条件都为真,则返回所有部分尝试返回一个参数数组,然后将其传递给渲染调用: 雇员再培训局:
<% tasks.each do |task| %>
<%= render task %>
<% end %>
def任务
任务\u数组=[]
任务\u数组为什么不能返回一个数组数组,然后在视图中对其进行迭代,并像现在一样为每个数组调用render?我试图避免视图中的任何逻辑。但如果这是我唯一能尝试的方法
def tasks
tasks_array = []
tasks_array << ['task1_summary', task1: task1] if task1.present?
tasks_array << ['task2_programs', task2: task2] if task2.present?
tasks_array << ['task3', program: task3] if task3.present?
end