0

すべてのページに表示されるオプションの<select>メニューを部分的に生成したいと考えています。Vendor_navigation.html.erb

これは私が作成したい HTML です:

<form>
 <select>
    <option value="">Browse by Store</option>           
    <option value="Apple">Apple</option>
    <option value="Deisel">Deisel</option>
    <option value="NIke">Nike </option>
 </select>
</form>

次に、誰かがベンダーを選択すると、vendors_path(@vendor). 通常の form_partial でこれを実行しようとしている場合は、次のようにします。

<%= simple_form_for(@product) do |f| %>
    <%= f.association :vendors %>
<% end %>

@productしかし...次に、このフォームがレンダリングされるビューを管理するコントローラーで処理する方法を宣言します。

でそれを行うにはどうすればよい/layouts/_navigation.html.erbですか?

そして...リンク機能を生成するにはどうすればよいですか?ユーザーが必要なものを選択するvendorと、自動的にそのvendor/:idページにリダイレクトされますか?

4

2 に答える 2

2

フォームを使用してこれらのリンクを作成する理由と、アプリケーションコントローラーでこれらのリンクを使用する理由がわかりません。各製品ページに表示されるリンクを変更したい場合は、次の方法で行うことができます。

<ul class="nav nav-pills">
 <li class="dropdown">
  <a class="dropdown-toggle"
   data-toggle="dropdown"
   href="#">
   Navigation with Vendors by Product
     <b class="caret"></b>
  </a>
<ul class="dropdown-menu">
  <% @product.vendors.each do |vendor| %>
  <li><%= link_to vendor.name, vendor %></li>
  <%end%>
 </ul>
 </li>
</ul>

このパーシャルをショー ビュー製品に使用します。

これらのモデルを想定: product.rb

has_many :brands
has_many :vendors, :through => :brands

ベンダー.rb

has_many :brands
has_many :products, :through => :brands

ブランド.rb

belongs_to :product
belongs_to :vendor

すべてのベンダーの部分的なメニューが必要な場合は、次の方法でも実行できます。

<ul class="nav nav-pills">
  <li class="dropdown">
<a class="dropdown-toggle"
   data-toggle="dropdown"
   href="#">
    General Navigation Vendors
    <b class="caret"></b>
  </a>
<ul class="dropdown-menu">
  <% Vendor.all.each do |vendor| %>
  <li><%= link_to vendor.name, vendor %></li>
  <%end%>
</ul>

すべてのベンダーを application_controller にロードしたい場合は、おそらく before_filter :load_vendors を使用できます

 def load_vendors
  @vendors = Vendor.all
 end
于 2013-03-12T02:44:07.900 に答える
0

コントローラー コードを application_controller.rb に配置し、ビュー フォルダーに application というフォルダーを作成し、その中に部分ファイルを配置します。

http://railscasts.com/episodes/269-template-inheritance

私は単純なフォームに慣れていませんが、Railscasts には単純なフォームの使用方法も記載されています。

http://railscasts.com/episodes/234-simple-form-revised

于 2013-03-12T02:13:52.123 に答える