私は、RailsとmongoDBで実装されたサイトを持ち、アイテムを送信、読み込み、更新します。
サイトには、アイテムを表示したり、検索キーワードやさまざまなクエリ方法に基づいてフィルタを適用できる領域があります。
例:ホームページには、並べ替えるカテゴリのリストがあります。 'ユースケース'、 'ステータス'、 'レベル'ユーザーが「ユースケース」ボタンをクリックすると、「Eコマース」などのユースケースのリストが表示されます。ユースケースがEメールに等しいアイテムが表示された場合は、コマース特定のアイテムのこの時点から、アイテムのすべてのプロパティを表示する[Details]ボタンをクリックすることができます。
この「詳細」ビューには、次と戻るボタンがあります。今すぐアイテムID番号を増減することによってアイテムのデータベースをスクロールします。
次のボタンと戻るボタンが、表示されたリストをスクロールできるようにしたいと思います。アイテムコントローラで初期化され、グローバル変数として保存されていても詳細ビューには表示されない@items
というインスタンス変数からアクセスできます。
私が考えている唯一のオプションはリストを渡すことですのアイテムをURLパラメータとして使用していますが、それはそれを行うための面倒な方法のようです。
異なるビュー間でインスタンス変数を渡す方法はありますか?
例コード: item_controller.rb
:
rails&mongoid - 特定のレコードグループをスクロール
def list
@items = Item.asc(:id)
end
list.html.erb:
<tbody>
<% @items.each do |item| %>
<% $list = @items%>
<tr>
<td><%= item.name %></td>
<td><% item.Use_Cases.each do |u| %>
<ul>
<li><%= u %></li>
</ul>
<% end %>
</td>
<td><%= item.Level %></td>
<td><%= item.Status %></td>
<td><%= link_to item, class: 'btn btn-default' do %>
<span class="glyphicon glyphicon-eye-open"></span> Details
<% end %>
</td>
</tr>
<% end %>
</tbody>
show.html.erb - スクロールボタン:
<div class="panel-footer">
<%if @item.id != @first_id %>
<% #need to change to scroll to previous in $list %>
<%= link_to item_path(:id => (@item.id-1)), class: 'btn btn-default' do %>
<span class="glyphicon glyphicon-menu-left"></span> Back
<% end %>
<% end %>
<%if @item.id != @last_id %>
<% #need to change to scroll to next in $list %>
<%= link_to item_path(:id => (@item.id+1)), class: 'btn btn-default' do %>
Next <span class="glyphicon glyphicon-menu-right"></span>
<% end %>
<% end %>
</div>
、このソリューションは動作しません - 私はに 'list.html.erb'ビューから' items'リスト@に合格できるようにする必要があります'show.html.erb'ビュー – Gcap