Вероятно, проблема в вашем post_params
методе.Я предполагаю, что вам потребуется ключ :post
, прежде чем разрешить его атрибуты.Обычно simple_form (и другие движки форм) собирает полезную нагрузку следующим образом:
{
"utf8": "✓",
"authenticity_token": "...",
"commit": "Create Post",
"post": {
"title": "Opa",
"content": "teste"
}
}
, поэтому, если вы params.permit(:title, :detail, :id)
, вы получите пустой хеш.И это, вероятно, причина того, что сообщение сохраняется с пустыми атрибутами.
Вам нужно будет
params.require(:post).permit(:title, :detail)
по умолчанию, параметры URL (те, которые вы определяете в маршрутах, например /posts/:id
) уже разрешены, поэтому вам не нужно ни разрешать, ни требовать.