【问题标题】:Rendering partial for table row with form_tag is getting crazy!使用 form_tag 为表格行渲染部分变得疯狂!
【发布时间】:2011-03-05 07:44:20
【问题描述】:

我有 23(column)x6(row) 表并使用 link_to_remote 函数更改行。 每个tr标签都有自己的id属性。

change 链接调用 change action 并 change action 使用部分渲染函数更改行。

_change.html.erb

<td id="row_1">1</td>
.
.
omitted
.
.
<td id="row_23">23</td>

link_to_remote 函数

<%= link_to_remote 'Change', :update => 'row_1', :url => change_path %>

改变动作

def change
  logger.debug render :partial => 'change'
end

如果我像上面那样编码,一切正常。这意味着所有更改的列都在一行。

但是,如果我用 form_for 函数包装部分代码,如下所示...

<% form_for 'change' do %>
<td id="row_1">1</td>
.
.
omitted
.
.
<td id="row_23">23</td>
<% end %>

然后,一列位于一行中,该列是第一列。我查看了日志文件,但它是普通的 html 标签。

怎么了?

【问题讨论】:

    标签: html ruby-on-rails ajax


    【解决方案1】:

    您必须使用 remote_form_for 来获取 ajax 表单

    <% remote_form_for 'change' do %>
    

    而不是

    <% form_for 'change' do %>
    

    【讨论】:

    【解决方案2】:

    查看正在生成的 HTML。 td 元素被 form 元素包裹是无效的。表格单元格必须在表格行内。

    【讨论】:

    • 那么,有没有办法在表格中制作可编辑的行?如果不是 ajax 样式的形式,该代码可以正常工作。
    猜你喜欢
    • 2018-08-22
    • 2021-01-21
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2011-11-25
    • 2020-07-30
    • 1970-01-01
    相关资源
    最近更新 更多