Sunday 15 March 2015

ruby on rails - How do I render errors in the template? -



ruby on rails - How do I render errors in the template? -

i next guide: http://ember.vicramon.com/chapters/all

so far good! however, trying ember validate based on validation definitions of rails model. far here too.

my code follows same approach instructed: http://emberjs.com/api/data/classes/ds.errors.html or not?

this have far:

app/controllers/api/v1/products_controller.rb

respond_to :json def create product = product.new product_params if product.save respond_with :api, :v1, product else render json: { errors: product.errors }, status: 422 end # respond_with :api, :v1, lead.create(lead_params) end

app/assets/javascripts/controllers/products_new.js.coffee

app.productsnewcontroller = ember.controller.extend actions: createproduct: -> product = @store.createrecord 'product', @get('fields') product.save().then => @transitiontoroute 'product', product # app/serializers/product_serializer.rb class productserializer < activemodel::serializer attributes :id, :name, :description, :amount_in_cents, :status, :errors end

app/assets/javascripts/templates/products/new.js.emblem

article#product h1 new product ul each errors.messages in error li = error /* {{#each errors.messages}} */ /* <div> */ /* <p class="label label-danger">{{this}}</p> */ /* </div> */ /* {{/each}} */ form fieldset dl dt: label name: dd: view ember.textfield value=fields.name dl dt: label description: dd: view ember.textfield value=fields.description dl dt: label amount in cents: dd: view ember.textfield value=fields.amount_in_cents dl dt: label status: dd: view ember.textfield value=fields.status fieldset.actions input type='submit' value='create product' click="createproduct"

i submit form empty field, , firebug console returns: 422 unprocessable entity

which normal, errors dont show on template... ideas?

a fellow developer, alex speller, helped out , suggested do:

product.save().then => @transitiontoroute 'product', product , => @set 'errors', product.get('errors')

in app/assets/javascripts/controllers/products_new.js.coffee

seems work!

ruby-on-rails ruby-on-rails-4 ember.js

No comments:

Post a Comment