Rails:使用提交按钮以编辑形式进行就地编辑

时间:2014-03-24 07:02:45

标签: javascript jquery ruby-on-rails ruby forms

我想创建我的编辑表单,使其显示当前用户信息,就像文本不在文本字段中一样,当用户点击文本时,它将变成文本字段,用户可以编辑他的信息。仅当用户单击“提交”按钮时,更改才会反映在数据库中。 简单来说,它并不是完全就位编辑而不是完全像默认编辑形式,它是两种功能的混合行为。

我的表单如下所示。它不完整,这些是表格的一些字段。

<%=  form_for @contact, :html => { :multipart => true, :class => "contact_form"} do |f| %>

  <% if @contact.errors.any? %>
    <div id="error_explanation">
      <h2><%= pluralize(@contact.errors.count, "error") %> prohibited this contact from being saved:</h2>

      <ul>
      <% @contact.errors.full_messages.each do |msg| %>
        <li><%= msg %></li>
      <% end %>
      </ul>
    </div>
  <% end %>

     <div class="field">
        <%= f.label :f_name, "First Name" %><br/>
        <%= f.text_field :f_name %>
     </div>
       <div class ="field">
         <%= f.label :experience, "Total years of experience "%><br/>
         <%= f.select :experience, (0...30),{},{:class => 'select'} %>
       </div>


       <div class="field">
         <%= f.label :l_name, "Last Name" %><br/>
         <%= f.text_field :l_name %>
       </div>


       <div class = "field">
         <%= f.label :primary_practice_area, "Primary practice area"  %><br/>
         <%=  f.select :primary_practice_area , MetaPracticeArea.all.collect {|p| [ p.practice_area, p.id ] }    %>

       </div>

       <div class = "field">
         <%= f.label :phone, "Phone"  %><br/>
         <%= f.text_field :phone %>
       </div>
       <div class="actions">
         <%= f.submit :class => "submit_btn" %>
       </div>
<% end %>

并且控制器和模型是默认的。

2 个答案:

答案 0 :(得分:1)

您可以尝试使用REST_in_place gem:https://github.com/janv/rest_in_place

答案 1 :(得分:0)

检查in_place_editing的以下链接:

  

http://railscasts.com/episodes/302-in-place-editing?view=asciicast