ruby-on-rails - haml 中的 form_tag 创建没有输入的表单
问题描述
该应用程序是 rails 3。在 js 响应之后,以下代码段将在 div 中呈现:
= form_tag("/admin/limits/change/#{user.id}", :remote => "true") do
%th{:scope => "row"}= index+1
%td= user.email
%td.text-center= user.domain || "null"
%td.text-center
= check_box :details, 'limit', { :checked => (user.details && user.details.limit.eql?("hard")) }, 'hard', 'soft'
%td.text-center
= button_tag 'Set limit' , class: 'btn' , type: :submit
问题是表格似乎忽略了do
声明。后面缩进的内容都不包含在其中。这只是一个没有提交的空表单。以下所有行,包括check_box
和button_tag
,都呈现在外部。
<form accept-charset="UTF-8" action="/admin/limits/change/5" data-remote="true" method="post"></form>
尝试使用submit_tag
而不是button_tag
但不能解决问题。既不加form_tag .. do |f|
。
解决方案
我认为问题是你应该使用 check_box_tag 因为它是一个 form_tag,也使用 do 很好,你还需要在 %th 内缩进 %td 标签
= form_tag("/admin/limits/change/#{user.id}", :remote => "true") do
%th{:scope => "row"}= index+1
%td= user.email
%td.text-center= user.domain || "null"
%td.text-center= check_box_tag :details, 'limit', { :checked = (user.details && user.details.limit.eql?("hard")) }, 'hard', 'soft'
%td.text-center= button_tag 'Set limit' , class: 'btn' , type: :submit
推荐阅读
- javascript - 我如何访问公会 ID (Discord Bot)
- javascript - 将授权令牌添加到 JavaScript 中的标头以从 API 获取数据
- python - Create Table of all Sums from two Arrays in Pandas
- django - Django - 保存前替换模型字段值
- azure-cosmosdb - 在 LINQ 查询中将 POCO 中的属性名称映射到 Cosmos Db 中的字段名称的问题
- python - 将值添加到 DataFrame 到相应的值
- css - 在 youtube 全屏视图上放置一个浮动按钮
- php - 如何将 2checkout 与原生 PHP 集成?
- android - Kotlin,WorkManager 每周重复调度一次
- python - 如何根据值创建n个具有相同结构的数据框?