Sm4llDev
@Sm4llDev

Синтаксис и работа form_with в Ruby on Rails 6?

Пытался понять как устроен form_with, искал на Ruby on Rails Docs, RusRails, но так и не понял что к чему:
<%= form_with scope: :article, url: articles_path, local: true do |form| %>
  <p>
    <%= form.label :title %><br>
    <%= form.text_field :title %>
  </p>

  <p>
    <%= form.label :text %><br>
    <%= form.text_area :text %>
  </p>

  <p>
    <%= form.submit %>
  </p>
<% end %>


Если не сложно, то можно объяснить по синтаксису моменты, как это работает, и что за "костыль" с переменной |form|?
  • Вопрос задан
  • 92 просмотра
Решения вопроса 1
2ord
@2ord
продвинутый чайник
Если не сложно, то можно объяснить по синтаксису моменты, как это работает, и что за "костыль" с переменной |form|?


Если непонятно как работать с блоками в Ruby, советую почитать основы
https://www.rubyguides.com/2016/02/ruby-procs-and-...

form_with(...) do |form|
end

Этот код генерирует form с полями, необходимыми для создания и модификации Article. Чтобы понять магию articles_path, нужно поиграться с командой rails routes и надо понимать что такое CRUD, REST.
Можно просмотреть какой код формы создается генерацией в браузере.

Примеры можно найти здесь:
https://apidock.com/rails/v6.0.0/ActionView/Helper...

# Adding a scope prefixes the input field names:
Ответ написан
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы