0

私が持っているもの:次のような値の単一セルによって生成されたテーブル:

<tr>
  <%= render :partial => 'partials/fieldtypes/show_in_table', :locals => {:fieldtype => 'textline', :data => {'object' => object, 'value' => 'name'}, :vars => {'textline' => object.name}} %>
  <%= render :partial...
</tr>

パーシャルは次のようになります。

<td class='tablecell' <% data.each do |dat| %>data-<%= raw(dat[0]) %>='<%= raw(dat[1]) %>' <% end %> >
  <%= render :partial => 'partials/fieldtypes/show/'+fieldtype, :locals => {:vars => vars} %>
</td>

ここで、MS Excel のように、そのテーブルの単一のエントリ/セルをダブルクリックして編集したいと考えています。サイトは完全な JavaScript で実行されているため、ページはリンクされていません。

だから私が欲しいのは:ユーザーがフィールドを編集するたびに(ダブルクリックして)フォームを生成する(事前レンダリングや可視性の切り替えではありません!)。

これまでの私の考え:ご覧のとおり、フォームを生成するために必要なすべてのデータを html5 データタグに格納しようとしていました。セルがダブルクリックされるたびにコントローラー アクションを呼び出し、Rails とのデータベース接続でフォームを生成するという計画でした。

問題/質問:これはそのように機能しますか? タグ内のデータが変換され、それ以上のやり取りには役に立たないように見えるためです。それが機能する場合:適切なルートでそのためのコントローラーアクションを作成するにはどうすればよいですか?

または、より簡単な解決策はありますか?述べたように、フォームを直接非表示にしたくありません!

4

1 に答える 1

1

この宝石をチェックしてください。まさにあなたがやりたいことです https://github.com/bernat/best_in_place

于 2012-07-05T10:46:14.027 に答える