Sử dụng postman để POST một chút JSON được tạo trong DB, có đoạn mã để bạn thử nghiệm. Nhận được một lỗi nói rằng phương pháp 'phim' là không xác định, nhưng phương pháp đó không bao giờ được gọi.RoR - phương pháp chưa xác định `phim 'cho # <Movie: 0x007fa43a0629e0>
{"movie": {
"title": "Its a Mad Mad Word",
"year": "1967",
"summary": "So many big stars"
}
}
Dưới đây là mã, và lỗi này là như sau:
undefined method 'movie' for #<Movie:0x007fcfbd99acc0>
điều khiển ứng dụng
class ApplicationController < ActionController::Base
protect_from_forgery with: :null_session
end
khiển
module API
class MoviesController < ApplicationController
...
def create
movie = Movie.new({
title: movie_params[:title].to_s,
year: movie_params[:year].to_i,
summary: movie_params[:summary].to_s
})
if movie.save
render json: mov, status: 201
else
render json: mov.errors, status: 422
end
end
private
def movie_params
params.require(:movie).permit(:title, :year, :summary)
end
end
end
mẫu
class Movie < ActiveRecord::Base
validates :movie, presence: true
end
Migration
class CreateMovies < ActiveRecord::Migration
def change
create_table :movies do |t|
t.string :title
t.integer :year
t.text :summary
t.timestamps null: false
end
end
end
đường
Rails.application.routes.draw do
namespace :api do
resources :movies, only: [:index, :show, :create]
end
end
đã không được sử dụng như một API, nhưng việc xác thực đó trong mô hình của bạn có vẻ giống như cá. –
vì bạn là người mới bắt đầu tôi thực sự cần phải nói, tôi thích cách câu hỏi của bạn trông như thế nào! –