Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/ruby/24.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Ruby on rails rails在一次调用中呈现多个部分_Ruby On Rails_Ruby_Ruby On Rails 3_Ruby On Rails 3.2_Ruby On Rails 3.1 - Fatal编程技术网

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