Tôi đã cố viết một ứng dụng đường ray mô hình thông thường từ POSTman trong vài ngày và không thể tìm hiểu cách thực hiện hoặc tìm bất kỳ thông tin nào về cách làm đi.Viết cho Rails bằng JSON API
Ứng dụng của tôi có Mô hình người dùng với trường tên. Tất cả những gì tôi đang cố gắng làm là thay đổi tên từ xa thông qua JSON bằng POSTman.
Bất kỳ trợ giúp nào về cách thực hiện việc này được đánh giá cao, bao gồm liên kết đến tài nguyên cơ bản về cách thực hiện.
Tôi tưởng tượng điều này khá cơ bản.
EDIT: đây là một ảnh chụp màn hình từ đầu ra Postman
EDIT 2:
từ nhật ký máy chủ:
Started PUT "https://stackoverflow.com/users/1.json" for 127.0.0.1 at 2013-07-17 16:53:36 -0400
Processing by UsersController#update as JSON
Parameters: {"name"=>"Jeff", "id"=>"1"}
User Load (0.2ms) SELECT "users".* FROM "users" WHERE "users"."id" = ? LIMIT 1 [["id", "1"]]
(0.1ms) begin transaction
(0.1ms) commit transaction
Completed 204 No Content in 3ms (ActiveRecord: 0.4ms)
Giao dịch đang xảy ra, nhưng isn kỷ lục thực sự không được cập nhật. Tôi có cần thay đổi thứ gì đó trong bộ điều khiển không? Nó chỉ là một đường ray thường xuyên tạo ra bộ điều khiển mà không có thay đổi.
EDIT 3:
Dưới đây là kết quả của tôi từ chỉ cần đi để http://localhost:3000/users/1.json
{
"created_at": "2013-07-02T21:51:22Z",
"id": 1,
"name": "Arel",
"updated_at": "2013-07-02T21:51:22Z"
}
lần nữa, tôi đã thay đổi gì từ đoạn đầu đài, và tôi đã không thể tìm ra cách để định dạng JSON để lồng nó dưới người dùng như câu trả lời gợi ý.
Dưới đây là phần có liên quan của bộ điều khiển của tôi:
# GET /users/1
# GET /users/1.json
def show
@user = User.find(params[:id])
respond_to do |format|
format.html # show.html.erb
format.json { render json: @user }
end
end
# PUT /users/1
# PUT /users/1.json
def update
@user = User.find(params[:id])
respond_to do |format|
if @user.update_attributes(params[:user])
format.html { redirect_to @user, notice: 'User was successfully updated.' }
format.json { }
else
format.html { render action: "edit" }
format.json { render json: @user.errors, status: :unprocessable_entity }
end
end
end
Tôi không hiểu tại sao điều này là rất khó khăn. Tôi chỉ cố gắng để cập nhật một tên qua JSON ...
gì chính xác là vấn đề? Bạn có thấy bất kỳ đầu ra nào trong nhật ký máy chủ đường ray không? – DiegoSalazar
Nó không làm gì cả. Khi tôi đặt địa chỉ http: // localhost: 3000/users/1.json và chọn PUT với khóa là tên và giá trị là Jeff 204, không có nội dung nào được trả về – Arel
@diego.Tôi chỉ cần thêm một ảnh chụp màn hình của những gì tôi đã cố gắng để làm. – Arel