app/controllers/tenon/item_versions_controller.rb in tenon-1.1.8 vs app/controllers/tenon/item_versions_controller.rb in tenon-2.0.0
- old
+ new
@@ -1,48 +1,60 @@
module Tenon
class ItemVersionsController < Tenon::BaseController
+ respond_to :html, :json
+
def create
@item_version = ItemVersion.new(resource_params)
item_params = @item_version.item_type.gsub('Tenon::', '').underscore
@item_version.attrs = params[item_params]
@item_version.creator_id = current_user.id
@item_version.save
respond_to do |format|
- format.json
+ format.json { render status: 200, nothing: true }
end
end
def new
@item_version = ItemVersion.new(
item_id: params[:item_id],
item_type: params[:item_type]
)
respond_to do |format|
- # Modal
format.html { render layout: false }
end
end
def index
respond_to do |format|
# Modal
format.html { render layout: false }
- format.json {
+ format.json do
params.delete(:item_id) if params[:item_id] == ''
- @item_versions = ItemVersion.where(
- item_type: params[:item_type],
- item_id: params[:item_id]
+ @item_versions = ItemVersion
+ .where(params.slice(:item_type, :item_id).permit!)
+ .paginate(page: params[:page], per_page: 5)
+
+ serializer = ActiveModel::Serializer.serializer_for(ItemVersion.new)
+ respond_with(
+ @item_versions,
+ serializer: Tenon::PaginatingSerializer,
+ each_serializer: serializer,
+ root: 'records',
+ serialization_scope: view_context
)
- .paginate(page: params[:page], per_page: 5)
- }
+ end
end
end
private
def resource_params
params.require(:item_version).permit!
+ end
+
+ def default_serializer_options
+ { root: 'record', scope: view_context }
end
end
end