Ruby On Rails - 通过控制器将参数从前端传递到数据库

时间:2017-10-13 20:30:15

标签: ruby-on-rails

如何通过控制器在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"
):

2 个答案:

答案 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