0

私は Ruby on Rails の初心者で、別のものを作成するために One Month Rails サンプル アプリを微調整しようとしています。

私はすぐに多くのトピックに行き詰まりますが、ドロップダウンメニューから事前定義されたカテゴリを選択して、Bootstrap フォームからユーザーからの入力を取得する方法について指導が必要です。

より具体的には、これが部分的な _form.html.erb であると想像してください。

<%= form_for @transaction, html: { multipart: true } do |f| %>
  <% if @transaction.errors.any? %>
    <div id="error_explanation">
      <h2><%= pluralize(@transaction.errors.count, "error") %> prohibited this transaction from being saved:</h2>

      <ul>
      <% @transaction.errors.full_messages.each do |msg| %>
        <li><%= msg %></li>
      <% end %>
      </ul>
    </div>
  <% end %>

  <div class="form-group">
    <%= f.label :category %><br>
    <%= f.text_field :category, class: "form-control" %>
  </div>

  <div class="form-group">
    <%= f.label :date %><br>
    <%= f.datetime_select :date, class: "form-control"  %>
  </div>

  <div class="form-group">
    <%= f.label :amount %><br>
    <%= f.text_field :amount, class: "form-control"  %>
  </div>

  <div class="form-group">
    <%= f.label :location %><br>
    <%= f.text_field :location, class: "form-control"  %>
  </div>
  <div class="form-group">
    <%= f.label :account %><br>
    <%= f.text_field :account, class: "form-control"  %>
  </div>
  <div class="form-group">
    <%= f.label :tag %><br>
    <%= f.text_field :tag, class: "form-control"  %>
  </div>
  <div class="form-group">
    <%= f.label :image %><br>
    <%= f.file_field :image, class: "form-control" %>
  </div>
  <div class="actions">
    <%= f.submit class: "btn btn-primary" %>
  </div>
<% end %>

この形式に従って 2 つのカテゴリ ボタンを作成するにはどうすればよいですか。

http://getbootstrap.com/components/#btn-dropdowns-single

各ボタンにはマクロ カテゴリが表示され (生活とエンターテイメントが 2 つのマクロ カテゴリであるとします)、それぞれのドロップダウンに異なるオプションが表示されます。ユーザーがオプションの 1 つをクリックすると、ボタンがこのオプションに変わり、選択内容がフォームに適切に保存されます。

上記のサンプル コードから読み取れるように、ユーザーはテキスト フィールドにテキストを入力する必要があります。

私はこれに少し行き詰まっています:(あなたの助けを前もって感謝し、私のクエリが適切でない場合は申し訳ありません..

ガブリエル

4

1 に答える 1

0

Ryan Bates のこのビデオが役に立ちます。ここにリンクがありますhttp://railscasts.com/episodes/88-dynamic-select-menus

于 2013-11-05T23:44:55.467 に答える