如何通过控制器在Ruby on Rails中将参数从前端传递到后端API?我不想为此使用模型或视图。
我使用的是Ruby Gem,它捕获了一些需要存储在后端数据库中的使用数据。
我已经创建了一个控制器,发送了post参数,但是我收到错误,说找不到视图。
ActionView::MissingTemplate (Missing template usage_metrics/create, application/create with {:locale=>[:en], :formats=>[:json, :js, :html, :text, :js, :css, :ics, :csv, :vcf, :png, :jpeg, :gif, :bmp, :tiff, :mpeg, :xml, :rss, :atom, :yaml, :multipart_form, :url_encoded_form, :json, :pdf, :zip, :web_console_v2], :variants=>[], :handlers=>[:erb, :builder, :raw, :ruby, :coffee, :jbuilder]}. Searched in:
* "/home/local/www/cc2/cc_user-frontend/app/views"
* "/home/local/.rvm/gems/ruby-2.2.3/gems/ckeditor-4.2.2/app/views"
):
答案 0 :(得分:0)
您需要以适当的格式(即json)发送请求,并确保控制器操作响应此操作。目前它正在尝试使用html进行响应,但没有为此找到模板。
例如,在行动中,在您完成了您需要做的事情之后:
respond_to do |format|
format.json { render json: { whatever: is_needed_in_the_response } }
end
你会以这种方式得到你的回应。
或者,如果您在解析参数后不需要回复,则可以使用render nothing: true
。
N.B。我认为最新版本的Rails如果没有找到模板就会回复/ json。不确定这对你有什么影响。
希望有所帮助!
答案 1 :(得分:0)
如果你想以json的形式返回一些数据,你可以使用
render json: data
但如果您只想返回状态
render json: {}, status: 200