0

Rails 3/Bootstrap/JQuery UI を使用しています。送信する前にユーザーがいくつかのパラメーターを入力する必要がある作成アクションがあります。Javascript JQuery UI ダイアログ モーダル フォームを試しましたが、既に作成されたアクション コードを利用できません。問題は、ユーザーが完全に新しいウィンドウを開くことを好まない (そして [戻る] を押さなければならない) ことです。

アクションを開きたいのですが、新しいウィンドウではなくサイドバーで開きます。

Rails 3 でのベスト プラクティスは何ですか?

さらに明確にする。私が意味した「アクション」とは、作成に必要なパラメーターを収集するモーダル ダイアログです。その「モーダルダイアログ」をサイドバーに入れたいと思います。代わりに、今は「モーダル ダイアログ」をまったく新しいウィンドウとして開き、ユーザーが [作成] をクリックすると、新しいオブジェクトが作成されます。

私の主な質問は、「サイドバーの新しいウィンドウ」を開くにはどうすればよいですか?

追加された編集: ユーザーが押すボタンのコードは次のとおりです: (既存のクライアントに猫を追加するため)

<%= link_to "New Cat", new_client_cat_path(@client), :class => "btn btn-primary btn-large" %>

さて、ここにcats/new.html.erbがあります:

<h2>New Cat</h2>
<%= render "form" %>
<%= link_to "Cancel", @client, :class => "btn btn-primary btn-large" %>

そして、ここにcats/_form.html.erbがあります:

<%= form_for [@client, @cat] do |f| %>
<%= f.error_messages %>
<%= f.submit @submit_label, :class => "btn btn-primary btn-large" %>
<% end %>

私が望むのは、「new.html.erb」(ユーザーの OK を取得するためのフォーム)が、まったく新しいウィンドウを開くのではなく、サイドバーにポップアップすることです。メインページにある小さなボックスに「new.html.erb」を入れたいです。

4

1 に答える 1

0

作成フォームが静的である場合は、既に作成されており、クリックすると JavaScript を使用して表示されます。を使用して作成する ajax 呼び出しを行う

<%= form_for @model, :remote => true do |frm| %>
    ...
    ...
<% end %>

アクションでオブジェクトを作成し、 :nothing => true をレンダリングするか、ページの必要な部分のみを更新します

于 2012-11-05T13:27:25.403 に答える