有没有办法对2个动作使用相同的定义?
这样的东西?
def index2, index5
@workgroups = Workgroup.all
if params[:workgroup]
@workgroup = Workgroup.find(params[:workgroup])
end
respond_to do |format|
format.html # index.html.erb
format.json { render json: @workgroups }
end
end
答案 0 :(得分:2)
您可以将2个网址路由到同一个动作
在config/routes.rb
执行:
get 'controller/index5', to: 'controller#oneindex'
get 'controller/index2', to: 'controller#oneindex'
答案 1 :(得分:0)
三种解决方案
1制作常用方法
我更喜欢这种方法,因为如果你想改变一些东西......
def index5
common_method_name
end
def index2
common_method_name
end
private
def common_method_name
# common code
end
2别名
def index5
# your code
end
alias_method :index2, :index5
3条路线
您可以将2个网址路由到config/routes.rb
中的相同操作。(来源Murifox的答案)
get 'controller/index5', to: 'controller#oneindex'
get 'controller/index2', to: 'controller#oneindex