代码之家  ›  专栏  ›  技术社区  ›  cluster1

Rails form_with-helper:什么是:作用域?

  •  1
  • cluster1  · 技术社区  · 1 年前

    我目前正在阅读Ruby on Raily API文档。使用助手指定关于form_w的部分: https://api.rubyonrails.org/v5.1.7/classes/ActionView/Helpers/FormHelper.html#method-i-form_with

    " :scope-输入字段名前缀的作用域,以及提交的参数在控制器中的分组方式。 "

    我不明白 在上下文中,什么是“范围” .

    有人能解释一下,这意味着什么吗?

    1 回复  |  直到 1 年前
        1
  •  2
  •   GProst    1 年前

    如文档中的示例所示,使用以下代码:

    <%= form_with scope: :post, url: posts_path do |form| %>
      <%= form.text_field :title %>
    <% end %>
    

    您将呈现以下HTML:

    <form action="/posts" method="post" data-remote="true">
      <input type="text" name="post[title]">
    </form>
    

    注意 name 输入上的属性:它是 post[title] 而不是仅仅 title (将其与文档中的前一个示例进行比较)。

    您可能想这样做,例如,如果在Rails控制器中,您可以更方便地检索字段的值,如下所示 params[:post][:title] 而不是简单 params[:title] . 如果您在下定义了更多字段 post 然后,在控制器中,你会把它们放进去 params[:post] 变量(例如, params[:post][:author] , params[:post][:content] )

    推荐文章