У меня есть контроллер 'news_controller.rb' для взаимодействия с базой данных. Когда я пытаюсь создать элемент строки базы данных (я делаю это с помощью автоматизированного сценария создания почтовых запросов), я получаю следующее сообщение об ошибкеПараметр отсутствует Rails 4
ActionController::ParameterMissing (param is missing or the value is empty: news): app/controllers/api/news_controller.rb:57:in `news_params'app/controllers/api/news_controller.rb:28:in `create'
Когда я использую Params [: категория], Params [: заголовок] и т.д. , внутри создать действие, то оно отлично работает. Каковы возможные причины и решения для этого?
Вот мой код контроллера:
module Api
class NewsController < Api::ApiController
respond_to :json
def index
@news = News.all
respond_with :news => @news
end
def show
@news = News.find(params[:id])
respond_with :news => @news
end
def new
@news = News.new
respond_with :news => @news
end
def edit
@news = News.find(params[:id])
respond_with :news => @news
end
def create
if !News.exists?(headline: params[:headline])
#@news = News.new(:category => params[:category], :headline => params[:headline], :content => params[:content], :image_url => params[:image_url])
@news = News.new(news_params)
if @news.save
respond_with :news => @news
else
respond_with @news.errors
end
end
end
def update
@news = News.find(params[:id])
if @news.update(news_params)
respond_with :news => @news
else
respond_with @news.errors
end
end
def destroy
@news = News.find(params[:id])
@news.destroy
respond_to do |format|
format.json { head :no_content }
end
end
private
def news_params
params.require(:news).permit(:category, :headline, :content, :image_url)
end
end
end
В 'news_params', вы упомянули, что' PARAMS [: новости] 'требуется. Ошибка вызвана отсутствием этого параметра в запросе. – Santhosh
Пожалуйста, разместите свой код формы и журнал параметров. – Pavan