Если не возражаете, я преобразую свой комментарий в ответ, чтобы не оставить вопрос без ответа.
Посмотрите логи сервера.Полагаю, params похожи на topic: { chapter_id: 1}
.Это означает, что вы можете получить доступ к нужному параметру через params[:topic][:chapter_id]
.Но лучшая идея - добавить chapter_id
к разрешенным параметрам (topic_params).В этом случае вы можете упростить создание действия немного
# note - you can create a topic belonging to current_user in one line
def create
@topic = current_user.topics.build(topic_params)
if @topic.save
redirect to topics_path
else
render :new
end
end
def topic_params
params.require(:topic).permit(:title, :text, :all_other_parameters, :chapter_id)
end
Вам необходимо использовать название главы в ссылке.Предположим, что это атрибут title
:
<%= link_to topic.chapter.title, topic.chapter %>