class RowsController

Public Instance Methods

create() click to toggle source

POST /rows

# File natural-backend/app/controllers/rows_controller.rb, line 22
def create
  @row = current_user.rows.build(row_params)

  if @row.save
    render json: @row, status: :created, location: @row
  else
    render json: @row.errors, status: :unprocessable_entity
  end
end
destroy() click to toggle source

DELETE /rows/1

# File natural-backend/app/controllers/rows_controller.rb, line 42
def destroy
  @row.destroy
end
index() click to toggle source

GET /rows

# File natural-backend/app/controllers/rows_controller.rb, line 5
def index
  @rows = current_user
    .tables
    .find(params[:table_id])
    .rows
    .page(params[:page] || 1)
    .per(params[:per_page] || 12)

  render json: @rows, meta: { total_pages: @rows.total_pages }
end
show() click to toggle source

GET /rows/1

# File natural-backend/app/controllers/rows_controller.rb, line 17
def show
  render json: @row
end
update() click to toggle source

PATCH/PUT /rows/1

# File natural-backend/app/controllers/rows_controller.rb, line 33
def update
  if @row.update(row_params)
    render json: @row
  else
    render json: @row.errors, status: :unprocessable_entity
  end
end

Private Instance Methods

row_params() click to toggle source

Only allow a trusted parameter “white list” through.

# File natural-backend/app/controllers/rows_controller.rb, line 53
def row_params
  ActiveModelSerializers::Deserialization.jsonapi_parse(params, only: [:table])
end
set_row() click to toggle source

Use callbacks to share common setup or constraints between actions.

# File natural-backend/app/controllers/rows_controller.rb, line 48
def set_row
  @row = current_user.rows.find(params[:id])
end