0

私はRailsを初めて使用し、Foundationフレームワークでアプリを作成しようとしています. 問題はモーダルウィンドウにあります。

足場によって生成されたフォルダーにindex.html.erbファイルがあります。views/usersまたnew.html.erb、同じフォルダにファイルがあります。

../users/newインデックスページのモーダルウィンドウでリンクを開きたい。

Reveal (Foundation Documentation)の例を使用し、new.html.erbファイルの内容を次の場所に配置しました。

<div id="myModal" class="reveal-modal">
.
.
</div>

また、新規ユーザーリンクに「href」属性を追加します。

<%= link_to 'New User', new_user_path, 'data-reveal-id' => 'myModal' %>

ここで説明したように。

Foundation Docs で説明されているように、 /body タグの直前にこのコードが必要なため、 でレンダリングする必要がありますnew.html.erbindex.html.erb

部分的にレンダリングしようとしましたが、うまくいきません。

ダブルとして部分的に挿入せずに、それを行う方法はありnew.html.erbます_new.html.erbindex.html.erb?

RoR に「少ないコードを書く」ということはないと思います。コードを複製せずにそれを行う方法はありません。

ありがとう!

4

1 に答える 1

0

new アクションをそのまま使用することはできませんが、フォームを 1 つのパーシャルに配置し、new とアクションをまたいでモーダルでフォームを生成することはできます。

ページの読み込みでは、_form パーシャルを使用できます。

必要に応じて ajax を使用してモデルのフォームを生成できます。これは編集にも新規にも使用できます。

Step1 :link_to "your action path", remote: true, id: "abc"

ステップ 2: アクション パスは、render to string を使用してフォームの html を返す必要があります

ステップ 3: $("#abc") の jquery ajax 成功を使用して、モデルの内部コンテンツをフォームに置き換えます。

そして、ajax とポストバックの両方に create アクションを使用します。

コードはDRYです。

コードが必要な場合はお知らせください。

ありがとう

于 2013-03-04T11:46:57.083 に答える