1

我使用带有引导程序的简单表单在rails中创建了这个表单:

<%= simple_form_for @page, :html => { :class => 'page-form' } do |f| %>
<div class="row">

    <%= f.input :title, wrapper_html: { class: 'span6'}  %>
    <%= f.input :url, wrapper_html: { class: 'span3'}  %>
    <%= f.input :content, input_html: { class: 'wysihtml5 span9' }, wrapper_html: { class: 'span9 row' } %>
    <%= f.input :excerpt, input_html: { class: 'wysihtml5 span9 excerpt' }, wrapper_html: { class: 'span9 row'}  %>

</div>

<% content_for :sidebar do %>
  <div class="page-header">
    <h1>Publish</h1>
  </div>
  <div class="well">
    <%= f.input :status , collection: Page::STATUS.map { |s| [s.humanize, s] }, prompt: '- Select page status -' %>
      <div class="form-actions">
        <%= f.button :submit, :class => 'btn btn-primary' %>
        <%= link_to t('.cancel', :default => t("helpers.links.cancel")),
                    pages_path, :class => 'btn' %>
      </div>
  </div>

<% end %>

<% end %>

问题是当提交按钮在content_for块内时,它不会在单击时更新表单。如果我在这个块之外有按钮,它就可以工作。

有什么办法可以让它在内部工作以content_for阻止?我需要它在边栏中。

期望结果的图片:在此处输入图像描述

任何提示,答案或有用的评论表示赞赏:)

4

1 回答 1

2

我自己找到了答案。

通过将表单元素放入侧边栏,当然会将表单字段呈现在表单标签之外。(在页面底部,侧边栏的其余部分通过应用程序布局呈现)。

这会导致表单域未附加到表单。

我的解决方案是删除content_for块并在这种情况下以部分形式处理侧边栏。

于 2013-04-24T19:54:18.717 回答