在全局导航视图中渲染本地表单,需要在处理程序中命名并包含表单部分,然后将其嵌入全局布局。以下是一个示例处理程序:
def navbar
@user = current_user
# 引入表单部件
@search_form = render partial: 'search_form'
render layout: 'navbar'
end
可以看到,@search_form 变量在导航视图中进行呈现,它包含了在视图文件中定义的 search_form 表单部件,如下所示:
<%= form_with(url: search_path, method: :get, local: true) do |form| %>
<%= form.label :query, "Search terms" %>
<%= form.text_field :query %>
<%= form.submit "Search" %>
<% end %>
请注意,表单使用 form_with 将其指向一个名为 search_path 的路径。在此特定示例中,您将需要认真阅读应用程序的路由文件,并使用正确的路径名称替换此占位符。