在控制器中编写有效的代码

时间:2014-02-07 18:25:26

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

我有一个控制器,其中有很多动作可以路由到不同的页面

def act1
 @a=...
 @b=....
 @c=...
end

def act1
 @a=...
 @b=....
 @c=...
end

def act2_ajax
 @a=...
 @b=....
 @c=...
end

def act3
 @a=...
 @b=....
 @c=...
end

def act4_ajax
 @a=...
 @b=....
 @c=...
end

我想在单独的动作中编写这些变量并只调用动作名称,我在视图中使用变量@ a,@ b @c,所以如果我调用单独的动作,这些变量应该来

对于ex,我们写一下

def common(xx)
  @a=...
  @b=...
  @c=...
end

我们在act1中调用common如

def act1
  self.common1(var)
end

输出如

def act1 
  @a=...
  @b=...
  @c=...
end

1 个答案:

答案 0 :(得分:1)

before_action :set_vars, only: [:act1, :act2, :act3]

private
  def set_vars
    @a = ...
    @b = ...
    @c = ...
  end

你的行动中没有额外的行!