在 rails 上使用 ruby 测试 kaminari 参数是否存在
Test if kaminari params exist using ruby on rails
我是 Ruby 的新手,我的任务是为 get 方法添加分页,但我尝试测试参数 (page) 和 (per_page) 是否存在,如果它们不存在它应该 return 数据库中的所有数据,因为默认情况下 kaminari return 只有第 25 页。
这是我的功能
def index
if page.present? && per_page.present?
@domains = Domain.accessible_by(access_token).page(page).per(per_page)
else
@domain = Domain.accessible_by(access_token).all
end
render json: @domain
end
它 return 一个 200 OK
响应但是空
控制器方法通过params
对象接收请求参数。变量 page
和 per_page
未定义,这将引发异常 undefined local variable, etc.
.
还有几件事:
- 我猜
@domain
变量打印错误,应该使用 @domains
代替。
- 因为
if
的两个表达式 fork return 一个赋值给 @domains
变量的值,它可以被简化。
综上所述,这里是改进的控制器方法:
def index
@domains = if params[:page].present? && params[:per_page].present?
Domain.accessible_by(access_token)
.page(params[:page])
.per(params[:per_page])
else
Domain.accessible_by(access_token).all
end
render json: @domains
end
我是 Ruby 的新手,我的任务是为 get 方法添加分页,但我尝试测试参数 (page) 和 (per_page) 是否存在,如果它们不存在它应该 return 数据库中的所有数据,因为默认情况下 kaminari return 只有第 25 页。
这是我的功能
def index
if page.present? && per_page.present?
@domains = Domain.accessible_by(access_token).page(page).per(per_page)
else
@domain = Domain.accessible_by(access_token).all
end
render json: @domain
end
它 return 一个 200 OK
响应但是空
控制器方法通过params
对象接收请求参数。变量 page
和 per_page
未定义,这将引发异常 undefined local variable, etc.
.
还有几件事:
- 我猜
@domain
变量打印错误,应该使用@domains
代替。 - 因为
if
的两个表达式 fork return 一个赋值给@domains
变量的值,它可以被简化。
综上所述,这里是改进的控制器方法:
def index
@domains = if params[:page].present? && params[:per_page].present?
Domain.accessible_by(access_token)
.page(params[:page])
.per(params[:per_page])
else
Domain.accessible_by(access_token).all
end
render json: @domains
end