Skip to content

Instantly share code, notes, and snippets.

@nicolasblanco
Last active December 22, 2015 05:39
Show Gist options
  • Select an option

  • Save nicolasblanco/6425856 to your computer and use it in GitHub Desktop.

Select an option

Save nicolasblanco/6425856 to your computer and use it in GitHub Desktop.
angular.module('product_size_resource', ['ngResource']).
factory 'ProductSize', ["$resource", ($resource) ->
ProductSize = $resource '/product_sizes/:id', format: 'json']
app_module = angular.module 'products', ['product_size_resource']
app_module.controller "FormCtrl", ["$scope", "ProductSize", ($scope, ProductSize) ->
$scope.product_references = window.product_references
$scope.product_sizes = ProductSize.query()
$scope.add = ->
$scope.product_references.push({})
$scope.remove = (index) ->
$scope.product_references[index].deleted = true
if($scope.product_references[index]._id)
$scope.product_references[index].deleted_id = true
]
:javascript
window.product_references = #{f.object.product_references.to_json.html_safe};
= f.error_notification
= f.input :name
%div(ng-repeat="product_reference in product_references")
%div(ng-if="!product_reference.deleted")
.controls
%label Reference:
%input(type="text" ng-model="product_reference.code" name="product[product_references_attributes][][code]")
%select(ng-model="product_reference.product_size_id" ng-options="s._id as s.name for s in product_sizes")
%input(type="hidden" name="product[product_references_attributes][][product_size_id]" value="{{product_reference.product_size_id}}")
%a(ng-click="remove($index)") Remove
%input(ng-if="product_reference._id" type="hidden" name="product[product_references_attributes[][_id]" value="{{product_reference._id}}")
%input(ng-if="product_reference.deleted_id" type="hidden" name="product[product_references_attributes[][_destroy]" value="true")
%input(type="hidden" name="product[product_references_attributes[]" value="")
.control-group
.controls
%a(ng-click="add()") Add
.form-actions
= f.button :submit
= custom_javascript "products/form"
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment