ruby-on-rails - 为什么这个 rails 6 视图没有激活 form-inline
问题描述
我有一个简单形式的 Rails 6 应用程序,在应用程序视图中使用 link_to 按钮时不会激活视图 html。这是应用程序视图,我尝试将 link_to 命令移动到正文中,但这并没有改变失败。
<!DOCTYPE html>
<html>
<head>
<title>Mypantry</title>
<meta name="viewport" content="width=device-width,initial-scale=1">
<%= csrf_meta_tags %>
<%= csp_meta_tag %>
<%= stylesheet_link_tag 'application', media: 'all', 'data-turbolinks-track': 'reload' %>
<%= javascript_pack_tag 'application', 'data-turbolinks-track': 'reload' %>
<%=link_to 'Settings', setting_path %> | <%= link_to 'Groceries', mupcs_path %> | <%= link_to 'Stores', stores_path %> | <%= link_to 'Open Pickup List', shops_path %> | <%= link_to 'Shoping List', list_path %>
</head>
<body>
<%= yield %>
</body>
</html>
这是“设置”按钮调用的视图表单:
<p id="notice"><%= notice %></p>
<table>
<tr>
<td valign="top">
<%= simple_form_for :search, url: setting_path, method: "GET", html: { class: 'form-inline' } do |f| %>
<%= f.input :id, collection: @stores, label: false, prompt: "Store Options: Blank Store" %></td>
<td>
<%= f.collection_select :buyer, @buyers, :buyer, :buyer, prompt: "Blank Buyer" %>
</td><td>
<%= f.submit "Submit", class: "btn btn-primary" %>
<% end %>
</td>
</tr></table>
<b>the buyer: </b>
<%= cookies.encrypted.permanent[:thebuyer] %>
<p>
<b>the store: </b>
<% a = cookies.encrypted.permanent[:thestore_id] %>
<% if a.to_i > 0 %>
<%= @stores[a.to_i - 1]["name"] %>
<% end %>
问题是,当 safari 从一个 link_to 项目更改为“设置”时,提交按钮在手动刷新表单之前不起作用。为什么必须手动刷新?
解决方案
我偶然发现了一个使用 html 的替代链接。基本上,将:<%= link_to 'xxx', xxx_path %> 更改为:xxx
使用 target="self" 强制操作停留在同一个浏览器窗口/选项卡中但完全激活?form-inline 函数,以便提交按钮从一开始就起作用。
推荐阅读
- r - 按列获取第一行
- python - 如何使用 Python 和 OpenCV 实现 KAZE 和 A-KAZE?
- php - 用于在 laravel 中发送电子邮件的 Gmail SMTP 中继
- python - 创建组和修改视图访问 Django
- python - 错误:命令“cl.exe”失败:VScode 上没有这样的文件或目录
- python - 您可以使用 __init__ 方法创建一个类但不指定总参数吗?
- javascript - 如何用 gsub 在 Ruby 中编写替换方法?
- fonts - R-markdown - 不同部分的不同字体大小
- php - 检查用户是否来自某个 url
- r - 如何在 R 中制作带有可格式化的表格?