我在rails新項目中使用了angularjs。我用rails和ruby在rails上創建了我的視圖和後端服務器。獲取「ActionView :: MissingTemplate」錯誤,當我從角度發佈json到rails控制器
現在,我已經在角部的形式,當用戶填寫表格,然後點擊發送,我發佈一個JSON像下面服務器:
$scope.jsonList = {
"form1": {name:"John",lastName:"Smart"},
"form2": {job:"student",age:"18"}
};
我張貼此JSON在軌一test
行動控制器。我把的JavaScript(angularjs)及以下的服務器端代碼:
angularController:
//Services
.factory('Test', function($resource){
return $resource('/api/test.json', {}, {
create: { method: 'post'}
});
})
//Angular Controller
$scope.testResponse = Test.create(angular.toJson($scope.jsonList));
和routes.rb
:
namespace :api, defaults: {format: :json} do
scope module: :v1, constraints: ApiConstraints.new(version: 1, default: :true) do
match '/test',to:'dropdowns#test', via: 'post'
end
end
和dropdownsController
:
class Api::V1::DropdownsController < Api::V1::BaseController
def test
end
end
我做的這一切,但是當我發佈json到rails服務器時,我收到了json,但是我得到了下面的錯誤:
Started POST "/api/test.json" for 127.0.0.1 at 2014-11-22 17:11:10 +0330
Processing by Api::V1::DropdownsController#test as JSON
Parameters: {"form1"=>{"name"=>"John", "lastName"=>"Smart"}, "form2"=>{"job"=>"student", "age"=>"18"}, "dropdown"=>{"form1"=>{"name"=>"John", "lastName"=>"Smart"}, "form2"=>{"job"=>"student", "age"=>"18"}}}
Completed 500 Internal Server Error in 1ms
ActionView::MissingTemplate (Missing template api/v1/dropdowns/test, api/v1/base/test with {:locale=>[:en], :formats=>[:json], :variants=>[], :handlers=>[:erb, :builder, :raw, :ruby, :coffee, :jbuilder]}. Searched in:
* "/Users/mgh/Documents/Maliat/sama/app/views"
):
actionview (4.1.6) lib/action_view/path_set.rb:46:in `find'
actionview (4.1.6) lib/action_view/lookup_context.rb:124:in `find'
actionview (4.1.6) lib/action_view/renderer/abstract_renderer.rb:18:in `find_template'
actionview (4.1.6) lib/action_view/renderer/template_renderer.rb:41:in `determine_template'
我可以做任何事情與JSON,當我在軌控制器收到(如解析,並提出在控制檯上,並保存在與其他控制器數據庫),但在控制器結束後,我得到上面的錯誤,我不能發佈對角部件的任何響應。哪裏有問題?
我該如何解決這個錯誤?