Как получить ответы json на отправку формы через ruby ​​на рельсах - PullRequest
0 голосов
/ 13 апреля 2019

Просто работаю над Ruby on Rails в первый раз.

В моем контроллере я сохраняю информацию о новых пользователях следующим образом, и все работает нормально с помощью кода ниже

 # POST /users
  def create
    @user = User.new(user_params)

    if @user.save
      session[:user_id] = @user.id   
      redirect_to @user, notice: 'User was successfully created.'
    else
      render :new
    end
  end

Теперь мне нужнополучать ответы на сообщения через json при отправке формы, чтобы я мог получить к ней доступ из своего веб-интерфейса.Для этого я добавил код ниже, но он показывает ошибку

ActionController :: UnknownFormat

У меня найдено справочное решение, но я не могу заставить его работать

ссылка

  # POST /users
  def create
    @user = User.new(user_params)

    respond_to do |format|
      if @user.save
        session[:user_id] = @user.id   
        format.json { render json: @user, message: 'User was successfully created.' }  
      else
        #render :new

        format.json { render json: @user, message: 'User cannot be created.' }    
      end
    end 
  end

Ответы [ 2 ]

0 голосов
/ 13 апреля 2019

В вашем случае нет необходимости записывать это так. Или используйте response_to

Просто запишите это, если вы используете рельсы 5:

# POST /users
def create
    @user = User.new(user_params)

    if @user.save
       session[:user_id] = @user.id   
       render json: @user, message: 'User was successfully created.' 
     else
       #render :new

       render json: @user, message: 'User cannot be created.' 
  end
end

И упоминание в файле rout.rb

resources :tasks, defaults: {format: :json}

Если вы также определяете пространство имен в файле rout.rb, тогда

namespace :api, defaults: {format: :json} do
   resources :tasks1
   resources :tasks2
   .............
end
0 голосов
/ 13 апреля 2019

Решено путем добавления этого в конфигурацию ваших маршрутов

resources :entries, defaults: { format: 'json' }

источник стекового потока

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...