10

[表示]ページでモデルをインプレースで編集するためのいくつかのオプションがあります。つまり、[編集]ページでフォームをロードする必要はありません。たとえば、http://www.ruby-toolbox.com/categories/rails_in_place_editing.htmlを参照してください

Rails 3でこれらのオプション(または他のオプション)のいずれかを使用した経験はありますか?何かアドバイスやアドバイスはありますか?

私の場合、可変数のアイテムで構成されるかなり長いフォームがあります。使いやすさの観点から、特定のアイテムの編集ページにユーザーを誘導する各アイテムの編集ボタンを必要とするのではなく、同じページでこれらのアイテムのテキストを編集することは理にかなっています。

4

2 に答える 2

13

素晴らしい質問です!

  • in_place_editingは、Railsの作成者であるdhhによるものです。Railsコアチームによって維持されています。ですから、それは確かに調査されるべきです。

  • Hoboは、フロントとセンターをインプレース編集する機能を備えた大きなフレームワークです。それはスムーズなパッケージですが、あなたが望むまたは必要とするものよりも多いかもしれません。

Rails3用に更新されました。RyanofRailscastsは、 BestinPlaceの宝石を 推奨しています。サンプルコードと詳細については、 Railscastを参照してください。

于 2011-08-16T12:31:37.800 に答える
1

確かにそれは私には理にかなっています。私はいつもそれをします。

たとえば、私は複雑なポリモロフィックなネストされたモデルフォームに取り組んでいますが、ビューは2つしかありません。インデックス、およびそれに動的に属性を追加するためのパーシャル。

AJAXをご存知の場合は、ユーザーが保存ボタンをクリックする必要がないという点で、UIに非常に役立ちます。

これの最低限を達成するために。フォームを含むindex.html.erbを設定します。

コントローラでは、次のようにアクションを指定できます。

def update
  @quick_fact = @organization.quick_facts.find(params[:id])
  if @quick_fact.update_attributes(params[:tab])
    flash[:notice] = 'Text Tab was successfully updated.'
    redirect_to quick_facts_organization_path(@organization)
  else
    render :action => "index", :id => params[:id]
 end
end
于 2010-08-17T14:50:13.580 に答える