Я массив под названием actors
, который содержит объекты, каждый объект имеет данные о актере, таких как его имя и т.д.ArgumentError (неверное число аргументов при создании нескольких записей
Я пытаюсь сохранить данные в моем SQLite БД с помощью Rails, но я бег в некоторых проблемы.
Я пытался несколько создавать функции в моем контроллере актера,
def create
actors = Actor.create(params[:actors])
redirect_to :root
end
Это создает новую запись, хотя содержание пусто,
{"id":8,"name":null,"character":null,"movie_id":null}
Я подумал, что мне нужно добавить параметры в функции создания, как это так,
def create
actors = Actor.create(params[:actors], movie_id: params[:movie_id], name: params[:name], character: params[:character])
redirect_to :root
end
Но это возвращает ошибку,
ArgumentError (неверное число аргументов (2 для 0..1))
* обновление *
Это рельсы журнал из запроса пост,
Started POST "/actors.json" for 127.0.0.1 at 2016-01-12 17:08:05 +0100
Processing by ActorsController#create as JSON
Parameters: {"_json"=>[{"name"=>"Michael B. Jordan", "character"=>"Adonis Creed", "movie_id"=>312221}, {"name"=>"Sylvester Stallone", "character"=>"Rocky Balboa", "movie_id"=>312221}, {"name"=>"Graham McTavish", "character"=>"Tommy Holiday", "movie_id"=>312221}, {"name"=>"Tessa Thompson", "character"=>"Bianca", "movie_id"=>312221}, {"name"=>"Phylicia Rashād", "character"=>"Mary Anne Creed", "movie_id"=>312221}, {"name"=>"Hans Marrero", "character"=>"Flores", "movie_id"=>312221}, {"name"=>"Will Blagrove", "character"=>"James", "movie_id"=>312221}, {"name"=>"Tony Bellew", "character"=>"'Pretty' Ricky Conlan", "movie_id"=>312221}, {"name"=>"Ritchie Coster", "character"=>"Pete Sporino", "movie_id"=>312221}, {"name"=>"Jacob 'Stitch' Duran", "character"=>"Stitch", "movie_id"=>312221}, {"name"=>"Malik Bazille", "character"=>"Amir", "movie_id"=>312221}, {"name"=>"Wood Harris", "character"=>"Tony 'Little Duke' Burton", "movie_id"=>312221}, {"name"=>"Gabe Rosado", "character"=>"Leo 'The Lion' Sporino", "movie_id"=>312221}], "actor"=>{}}
User Load (0.2ms) SELECT "users".* FROM "users" WHERE "users"."id" = ? ORDER BY "users"."id" ASC LIMIT 1 [["id", 1]]
Completed 500 Internal Server Error in 6ms (ActiveRecord: 0.2ms)
По существу, вы не можете делать то, что вы пытаетесь, рельсы не обеспечивают эту функциональность. Что находится в параметрах? Вы можете либо создавать записи, либо использовать 'accepts_nested_attributes'. –
Я предлагаю вам взглянуть на http://apidock.com/rails/ActiveRecord/Persistence/ClassMethods/create вы можете показать нам параметры? – djothefou
@ j-dexx как бы вы проходили через и создавали? – alucardu