controller create方法在post route中接受JSON

时间:2017-07-19 19:04:59

标签: ruby-on-rails json

基本上我有一个带有create方法的'requests_controller'。我应该添加一个允许create方法接受JSON的POST路由。我对路由部分的工作原理感到困惑。请帮忙!

我们不需要模型或任何视图。基本上,控制器应该接受一些像

这样的JSON

{url:“http://some-url.com”,来源:“有些价值 - 我会在以后找出来”}

我在我的routes.db中有这个,但是我不确定在帖子之后要放什么。

post '' => 'requests#create', :defaults => { :format => 'json' }

1 个答案:

答案 0 :(得分:1)

你可以尝试一下

在routes.rb

post '/requests', to: 'requests#create', :defaults => { :format => 'json' }

您的控制器逻辑

class RequestsController < YourBaseClass
  def create
    #your logic - something like give below
    if @object.save
      render json: { success: t(:success_message) }, status: :ok
    else
      render json: { errors: @object.errors.joins(', ') }, status: :unprocessable_entity
  end
end

希望这有帮助。