Rails 3.1需要在索引页面上进行就地编辑

我有一个带有自由格式注释字段的索引页面。 注释字段是另一个未关联的模型的一部分 – 长篇故事,部分我,部分用户。

我需要弄清楚用什么来做到这一点。 我遇到了Best In Place (这里)的问题 ,我不确定这是否是可解决的路径。

那么,有没有人有一个指导或建议指导我做一个索引的就地编辑?

我最后做的是:

在表格中创建一个TextArea行,并为文本区域分配一个类:

<%= text_area_tag 'comment', if @pdms_comment.user_comments.nil? == false then @pdms_comment.user_comments end, :rows => 3, :id => "_" + @pdms_comment.jira_key %><%= link_to "[+]", "#", :class => "comment_row" %> 

[对不起,我有一个时间的魔鬼与此格式]

创建一个控制器来更新DB中的字段:

  def comment_push @jira_key = params[:key] @comment = params[:comment] @user_name = params[:name] @user_pw = params[:pw] @comment_record = Comment.find_by_jira_key(@jira_key) @comment_record.update_attribute(:user_comments, @comment) Comment.add_comment_to_jira_ticket(@user_name, @user_pw, "MCTEST-293",@comment) respond_to do |format| format.js end end [note, this required a comment.js.erb file in the views; it was blank. Also, I created a route for it] 

创建一个jquery函数,键入我分配给Text Area的类,该类将必要的参数传递给来自控制器的路径…

  $('.comment_row').live("click", function() { var user_name = $('#user_name').val(); var user_pw = $('#user_pw').val(); var tr = $(this).closest("tr"); var td = $(this).closest("td"); var ta_id = '_' + td.attr("id"); var comment = $('textarea#' + ta_id).val(); $.ajax({ url: '/crbagenda/comments/comment_push', type: 'GET', data: 'key=' + td.attr("id") + "&name=" + user_name + "&pw=" + user_pw + "&comment=" + comment }); 

而这照顾它。