若 我用 post 或 get 方式 请求一个 cotroller 的 action , 我在该 action 中 如和获取 它请求的方式?
#3 楼 @chenge 这样写不对的,我问题解决了,每当 一个路由请求一个 action 时,都有一个当前对象,这个对象里面就包含这个请求的方式,我 p 了一下 这个 self , 过然就找到了,代码如下:
def operate
p self # 这个里面的结构很清晰
p self.request.env
p self.request.env["REQUEST_METHO"] # 这个就是我们想要的
p env["REQUEST_METHO"] #可以之前打印这个变量
debugger
@records = StaffRecordDecorator.new( StaffRecord.query(params,current_user.dept_id ).paginate(:page => params[:page]) )
render "common/_table_show_records",locals:{:records => @records },:layout => false if env["REQUEST_METHOD"].eql?("POST")
end
顶 1 楼 和 9 楼。
request.request_method
或 request.request_method_symbol
返回你要的结果,它们其实会去取 env["REQUES_METHOD"]
。而 get?
, post?
, put?
, delete?
等都可以直接用来判断。