Я создаю API с использованием рельсов, и мой метод обновления действует нечетно.Rails API не обновляет записи
Я использую curl для обновления пользователей, и когда я смотрю в серверный терминал rails, кажется, что он обновил их, но когда я ищу пользователя в консоли rails, он не изменился.
То же самое, если я пытаюсь скрутить одиночную запись пользователя. Он изменится только в том случае, если я закрою обновление 3 раза.
Вот мой метод обновления:
def update
respond_with User.find_by(params[:uid]).update(user_params)
end
private
def user_params
params.require(:user).permit(:username, :uid, :provider, :image_url, :full_name, :colour)
end
Завитка команды я использую в качестве последующей
curl -v -H "Accept: application/json" -H "Content-type: application/json" -X PUT -d '{"username":"Bradley Jamil"}' http://localhost:3000/api/v1/users/81888
И это выход из терминала
пользователя в вопрос не меняется, пока я не запустил тот же запрос на завивание еще 2 раза.
Также здесь то, что моя модель пользователя выглядит
# User Class
class User < ActiveRecord::Base
has_many :friendships
has_many :friends, through: :friendships
has_many :inverse_friendships, class_name: 'Friendship', foreign_key: 'friend_id'
has_many :inverse_friends, through: :inverse_friendships, source: :user
validates :provider, :uid, :username, :image_url, :full_name, :colour, presence: true
validates :uid, uniqueness: true
validates :provider, format: /\A(twitter)\Z/
end
Опубликовать свои команды завитки и журналы рельсов. и, пожалуйста, следите за своей грамматикой и четкостью сообщения. –
Вам не нужны 'update_attributes', а не' update'? – Gene
Я также попытался использовать 'update_attributes' вместо' update', и результат был тот же. – Valkyrie0512