Cancancan Select Field

时间:2017-09-30 16:06:59

标签: ruby-on-rails cancan cancancan

我正在尝试在cancancan对象上自定义字段:

projectsAPI = Project.accessible_by(current_ability).select('projects.name, projects.price * 5 as new_price')
respond_to do |format|
      format.json { render :json => {
                                    :project_data => projectsAPI
                                    }
                   }

问题是当我检查API结果时,它只返回所有项目字段,而没有.select语句中的任何内容。

当我检查日志时,查询中包含自定义字段,但还包含项目中的其余字段。

如何自定义cancancan对象的json API返回中的字段?

1 个答案:

答案 0 :(得分:1)

.to_sql的外观如何?

您是否尝试过子查询?这就是我经常解决CanCan问题的方法。

projectsAPI = Project.where("projects.id IN (?)", Project.accessible_by(current_ability).select(:id).to_sql).select('projects.name, projects.price * 5 as new_price')