0

我有一个对象数组。我正在尝试遍历它并将结果输出到表中。我希望我的表格列之一是呈现的部分(表单)。但无论我在哪一行提交它总是向我发送最后一行输出的本地人。

这是rails的正常行为还是我做错了什么?

我的观点是:

%table.table.table-hover
%thead
  %tr
    %th User id
    %th User email
    %th Account name
    %th Intercom Conversation
%tbody
  - @users.each do |user|
    %tr
      %td= user.user_id
      %td= user.user_email
      %td= user.account_name
      %td
        - if user.intercom_conversation
          %h4= user.intercom_conversation
        = link_to('edit', '#', {class: 'edit'})
        .conversation_edit
          = render(partial: 'conversation_form', locals: {user_id: user.user_id, fault_id: @fault.fault_id})

我渲染的部分是:

= form_tag('update_conversation', method: 'get')
= hidden_field_tag(:fault_id, fault_id)
= hidden_field_tag(:user_id, user_id)
yes
= radio_button_tag(:conversation, 0)
no
= radio_button_tag(:conversation, 1)
ignored
= radio_button_tag(:conversation, 2)
= submit_tag('Change')

我想我应该说所有渲染(在浏览器中是正确的并且没有引发错误)

提前致谢 。

4

1 回答 1

3

您正在输出一系列没有结束标签的空表单。您需要传递一个块form_tag并缩进其内容以自动添加所需的</form>标签。

= form_tag('update_conversation', method: 'get') do

  = hidden_field_tag(:fault_id, fault_id)
  = hidden_field_tag(:user_id, user_id)
  yes
  = radio_button_tag(:conversation, 0)
  no
  = radio_button_tag(:conversation, 1)
  ignored
  = radio_button_tag(:conversation, 2)
  = submit_tag('Change')
于 2015-09-14T14:57:24.527 回答