diff --git a/app/controllers/ingredients_controller.rb b/app/controllers/ingredients_controller.rb index c908912..6ba0049 100644 --- a/app/controllers/ingredients_controller.rb +++ b/app/controllers/ingredients_controller.rb @@ -1,6 +1,6 @@ class IngredientsController < ApplicationController - before_action :set_ingredient, only: [:edit, :update, :destroy, :select_ndbn] + before_action :set_ingredient, only: [:edit, :update, :destroy] before_filter :ensure_valid_user, only: [:new, :edit, :create, :update, :destroy] @@ -64,7 +64,14 @@ class IngredientsController < ApplicationController end def select_ndbn + if params[:id].present? + @ingredient = Ingredient.find(params[:id]) + else + @ingredient = Ingredient.new + end + @ingredient.assign_attributes(ingredient_params) + if @ingredient.ndbn.present? @ingredient.set_usda_food(UsdaFood.find_by_ndbn(@ingredient.ndbn)) end diff --git a/config/routes.rb b/config/routes.rb index 1defd96..328cf0f 100644 --- a/config/routes.rb +++ b/config/routes.rb @@ -16,12 +16,10 @@ Rails.application.routes.draw do get :convert end end - - member do - match :select_ndbn, via: [:post, :patch, :put] - end end + match '/ingredients(/:id)/select_ndbn' => 'ingredients#select_ndbn', via: [:post, :patch, :put] + resource :user, only: [:new, :create, :edit, :update] get '/login' => 'users#login', as: :login