Так как много я понимаю, вы хотите создать ресурсы и данные по своему усмотрению, но не хотите, чтобы другие пользователи могли создавать или удалить ресурс, не так ли? начало
ДАВАЙТЕ с основами:
В MVC, модель/ресурс является основным представлением объектов. Файл маршрутов указывает, какие маршруты доступны на первом месте для каждого объекта, которому могут быть отправлены HTML-запросы. Он также соответствует маршруту с соответствующим действием контроллера. Контроллер предоставляет шлюз для взаимодействия пользователей с вашим приложением, принимает запрос от них, предпринимает необходимые действия (выдает команды SQL для создания, отображения, удаления из базы данных и т. Д.) И дает подходящий ответ в конце.
Итак, предположим, что вы хотите, чтобы пользователи создавали новый ресурс на вашем сервере. Во-первых, вы предоставляете маршрут, по которому они могут отправить запрос. Затем вы даете им кнопку создания нового ресурса в своем представлении, через которую они могут взаимодействовать. Эта кнопка будет использовать маршрут, сопоставить его с действием контроллера и отправить запрос этому методу контроллера. В зависимости от того, что находится внутри действия контроллера, контроллер затем создает ресурс и перенаправляет пользователя с помощью 302 с уведомлением.
Теперь предположим, что вы не хотите, чтобы запрос проходил. Что вы будете делать? Сначала вы не создадите маршрут, по которому может быть отправлен запрос. Вы также не создадите действие контроллера, по которому может быть получен запрос.
Это вариант использования в вашем сценарии.
Поскольку вы не хотите, чтобы пользователи могли послать запрос на сервер, чтобы создать ресурс:
- не обеспечивают маршруты для них, чтобы отправить такое HTML любой запрос
- Дон 't предоставить какой-либо контроллер, который получит такой запрос
- И, очевидно, не предоставляйте ни одной кнопки в представлении, чтобы принять это действие.
Теперь вопрос будет следующим: тогда как я создам ресурс?
У вас есть три варианта:
Использование файла семена: Вы можете использовать файл семян, где вы добавляете все данные, которые вы хотите. Этот учебник и многие другие ресурсы в Интернете могут помочь вам. http://www.xyzpub.com/en/ruby-on-rails/3.2/seed_rb.html
Использование консоли rails: Дайте команды create: Question.create (: name => «hello»,: description => «Как вы это делаете!»). Перейдите по ссылке: https://apidock.com/rails/ActiveRecord/Base/create/class
Если вы новичок, вам нужно немного поработать перед тем, как попробовать: создать авторизованных пользователей и какие действия они предпримут. Вы также можете создать панель управления администратора и предоставить все действия пользователям-администраторам с помощью ярлыка activeadmin. Этот блог объясняет процесс: http://www.onceaday.today/subjects/1/posts/93
Наконец, как вам нужно, чтобы показать все вопросы: создать только показать маршрут, сравнить его с действием контроллера, написать метод в действии контроллера, который выдает SQL, чтобы получить весь ресурс из базы данных и предоставить соответствующее представление для просмотра данных, которые он может отобразить.
Надеюсь, это поможет вам!
Я не могу полностью понять ваш вопрос, но я постараюсь ответить на него наилучшим образом. Если вы создаете ресурс «Вопросы», я уверен, что вы можете добавить больше вопросов или даже удалить один или несколько вопросов, если это неверно или по какой-то причине вам необходимо изменить его в будущем. Чтобы создать ресурс RESTful, необходимо создать и удалить действия, но если вы действительно не хотите включать удаление в свой ресурс, вы также можете сделать это. – erickeno