可以说我有这个在我的控制器:我可以有一个运行几种方法的操作吗?
def something
end
def email
end
def house
end
我想创建一个运行所有的动作的东西,电子邮件和房子
def runall
Run email, something and house
end
它是如何做的动作?
可以说我有这个在我的控制器:我可以有一个运行几种方法的操作吗?
def something
end
def email
end
def house
end
我想创建一个运行所有的动作的东西,电子邮件和房子
def runall
Run email, something and house
end
它是如何做的动作?
def runall
[:something, :email, :house].each{|a| send(a)}
end
这一切都是假设这些都是某种形式的私人助手,而不是被调用,以呈现视图等实际控制人的行为,否则我不建议这样做。
优雅的方式来实现,+1 – apneadiving 2011-04-14 20:58:00
只是对词汇的缘故:
你有很大的回答以下问题:“我能有它运行的几种方法的行动”
动作被链接到一个视图所以一次执行多个动作是没有意义的
也许这不是最好的主意,如果该动作会为用户生成html。更多地描述这些动作的作用,也许你可以用观察者类或delayed_job替换它们? – 2011-04-14 20:53:14
其实我试图创造一个延迟的工作。我想我应该把我的任务放在我的控制器中,然后使用handle_asynchronously:runall。你能帮我这个问题吗?http://stackoverflow.com/questions/5661998/rails-help-creating-a-delayed-job-from-a-rake-file – 2011-04-14 21:04:11