На Cloud9, я создаю клон instagram в своем путешествии по обучению RoR. Одним из шагов, перечисленных (который намеренно расплывчатый, чтобы подтолкнуть студент протянуть руку и учиться против просто быть данным ответа) является добавить следующее:Невозможно получить новую форму сообщения для отображения
= simple_form_for @post do |f|
=f.input :image
=f.input :caption
=f.input :submit
ошибки не стартовали, похоже, это работает отлично , Перезагрузили рельсы. Затем было написано:
«в этом случае мы хотим создать новое сообщение. Добавьте переменную @post
в новое действие».
Итак, я думал, что имел в виду posts_controllers.rb
, чтобы добавить следующее:
def new
@post = Post.create
end
Так это то, что в моем posts
контроллер:
class PostsController < ApplicationController
def index
@posts = Post.all
end
def create
@post = Post.create
end
end
Everytime я получаю следующее:
No route matches [GET] "/new
Что я делаю неправильно?
Первое, что нужно. в новом действии мы не создаем сообщение, мы просто его инициализируем. Для этого вам следует делать @post = Post.new. Во-вторых, если вы можете поделиться файлом маршрутов. особенно для ресурсов должностей.? эта линия существует там. ресурсы: сообщения – Athar
route.rb: Rails.application.routes.draw делать ресурсов: сообщения корня 'сообщений # индексных' конца – JohnnyBurst
файла маршруты в порядке. пожалуйста, связывайте маршруты рейка exec. он перечислит все маршруты для приложения. вы можете видеть сообщение для новых действий там/posts/new. во-вторых, откуда вы называете это новое действие. Поделись, пожалуйста. – Athar