Нужно ли указывать область действия, URL и модель в form_with? - PullRequest
0 голосов
/ 23 марта 2020

Я следовал руководству по началу работы с Ruby на Rails, и когда они начинают использовать партиалы, они только передают модель в form_with, а не scope или url. Заранее спасибо.

new. html .erb

<%= form_with scope: :article, url: articles_path, local: true do |form| %>

edit. html .erb

<%= form_with model: @article, local: true do |form| %>

_form. html .erb

<%= form_with model: @article, local: true do |form| %>

1 Ответ

0 голосов
/ 23 марта 2020

Если вы создаете / обновляете объект модели, вам нужно только передать параметр model: @article. Здесь @article является объектом класса Article. В этом случае соглашение о переконфигурации Rails включит и автоматически сгенерирует URL, так что вам не нужно будет передавать его явно.

Но, если у вас есть форма, в которой нет ассоциированного объекта модели, например, простая форма поиска, тогда мы можем использовать опцию scope и должны явно передать url, так как в этом случае нет ассоциированного объекта модели, поэтому url не будет автоматически создан.

В вашем случае кажется, что вы хотите create или update объект статьи. Так что это должно сработать.

<%= form_with model: @article, local: true do |form| %>

Надеюсь, что помогло!

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...