sinatra 或 Rails 应用程序:简化结果分类
sinatra or Rails app: simplify classification of results
我有一个 Sinatra 应用程序,但我想这个问题在 RoR 中也有效。在应用程序中,用户可以按 date
、amount
或 name
.
的顺序查看他的支出
我是控制器,我有 3 get
条路线对应于那些可能的订单(默认是每个日期)。
这意味着当用户选择“按金额”时,请求将发送到服务器,然后通过相应的 sql 查询发送到数据库。虽然它有效,但我想知道这是否是最有效的方法。
使用 params
散列使它更易于维护。
get '/spendings' do
@spendings = Spending.where(user_id: current_user.id)
# Make date the default sort
sort = 'date'
sort = params[:sort] if params[:sort].in?(['amount', 'name'])
@spendings = @spendings.order(sort)
end
您必须使用的网址类似于
example.com/spendings?sort=date
example.com/spendings?sort=amount
example.com/spendings?sort=name
我有一个 Sinatra 应用程序,但我想这个问题在 RoR 中也有效。在应用程序中,用户可以按 date
、amount
或 name
.
我是控制器,我有 3 get
条路线对应于那些可能的订单(默认是每个日期)。
这意味着当用户选择“按金额”时,请求将发送到服务器,然后通过相应的 sql 查询发送到数据库。虽然它有效,但我想知道这是否是最有效的方法。
使用 params
散列使它更易于维护。
get '/spendings' do
@spendings = Spending.where(user_id: current_user.id)
# Make date the default sort
sort = 'date'
sort = params[:sort] if params[:sort].in?(['amount', 'name'])
@spendings = @spendings.order(sort)
end
您必须使用的网址类似于
example.com/spendings?sort=date
example.com/spendings?sort=amount
example.com/spendings?sort=name