是否可以通过 ROR App 中的活动管理面板在视图中重新安排产品订单
Is it possible to re-arrange product order in a view through Active admin panel in ROR App
我正在开发电子商务应用程序。商店经理能够通过活动管理员上传产品。上传产品时,它被分配给 active admin
面板中的 category
和 label
,效果很好,没有问题。
每个 category
中的最新 product
通过下面的代码显示为 views/pages/index.html.erb
上的类别正面图像,效果非常好。
views/pages/index.html.erb
<% @products.each_slice(3) do |products_group| %>
<div class="row">
<% products_group.each do |category, products| %>
<% products.each_with_index do |product, index| %>
<% if index == 0 %>
<div class="col-lg-4 col-sm-6 col-xs-12 center-block " >
<%= link_to category_path (category), { :method => 'GET' } do %>
<%= image_tag product.image.url(:medium), class: "img-responsive" %>
<% end %>
<div class="caption">
<p class="category-name" ><%= product.category.name %></p>
</div>
<% end %>
<% end %>
</div>
<% end %>
</div>
<% end %>
当客户点击 views/pages/index.html.erb
中的图像链接时,客户将被带到 category page
pages/categories/show.html.erb
,客户可以在那里浏览所选类别中的所有产品。
pages/categories/show.html.erb
<div class="container-fluid">
<div class="row category_top">
<% @products.each do |product| %>
<div class="col-lg-3 col-sm-6 col-xs-12 center-block " >
<%= link_to product_path (product) do %>
<%= image_tag product.image.url(:medium), class: "img-responsive" %>
<% end %>
<div class="product_description">
<h5><%= link_to product.title, product %></h5>
<p><%= social_share_button_tag(product.title) %></p>
</div>
</div>
<% end %>
</div>
</div>
问题是,在 pages/categories/show.html.erb
上,商店经理希望一些产品并排出现。
例如:4 天前他上传了一个产品 (productA),今天他上传了一个产品 (productB),他希望将其显示在 productA 旁边。但在这些产品之间还有 100 多种其他产品。
所以我的问题的背景是:商店经理如何能够重新排列 active admin
面板中的产品,以便 productA 和 productB 在 pages/categories/show.html.erb
观点?我什至可能?
p.s。这是我第一次与活跃的管理员一起工作
这是app/admin/admin_user.rb
ActiveAdmin.register AdminUser do
permit_params :email, :password, :password_confirmation
index do
selectable_column
id_column
column :email
column :current_sign_in_at
column :sign_in_count
column :created_at
actions
end
filter :email
filter :current_sign_in_at
filter :sign_in_count
filter :created_at
form do |f|
f.inputs "Admin Details" do
f.input :email
f.input :password
f.input :password_confirmation
end
f.actions
end
end
这里是 categories_controller.rb
class CategoriesController < ApplicationController
before_action :set_category, only: [:show, :edit, :update, :destroy]
def index
@categories = Category.all
end
def show
@products = @category.products
@images = ["1.jpg", "2.jpg", "3.jpg", "4.jpg", "5.jpg"]
@random_no = rand(5)
@random_image = @images[@random_no]
end
private
# Use callbacks to share common setup or constraints between actions.
def set_category
@category = Category.includes(:products).find(params[:id])
end
# Never trust parameters from the scary internet, only allow the white list through.
def category_params
params.require(:category).permit(:name, :slug)
end
end
我自己没有用过,但也许 Active Admin Sortable Table 就是您要找的。
我正在开发电子商务应用程序。商店经理能够通过活动管理员上传产品。上传产品时,它被分配给 active admin
面板中的 category
和 label
,效果很好,没有问题。
每个 category
中的最新 product
通过下面的代码显示为 views/pages/index.html.erb
上的类别正面图像,效果非常好。
views/pages/index.html.erb
<% @products.each_slice(3) do |products_group| %>
<div class="row">
<% products_group.each do |category, products| %>
<% products.each_with_index do |product, index| %>
<% if index == 0 %>
<div class="col-lg-4 col-sm-6 col-xs-12 center-block " >
<%= link_to category_path (category), { :method => 'GET' } do %>
<%= image_tag product.image.url(:medium), class: "img-responsive" %>
<% end %>
<div class="caption">
<p class="category-name" ><%= product.category.name %></p>
</div>
<% end %>
<% end %>
</div>
<% end %>
</div>
<% end %>
当客户点击 views/pages/index.html.erb
中的图像链接时,客户将被带到 category page
pages/categories/show.html.erb
,客户可以在那里浏览所选类别中的所有产品。
pages/categories/show.html.erb
<div class="container-fluid">
<div class="row category_top">
<% @products.each do |product| %>
<div class="col-lg-3 col-sm-6 col-xs-12 center-block " >
<%= link_to product_path (product) do %>
<%= image_tag product.image.url(:medium), class: "img-responsive" %>
<% end %>
<div class="product_description">
<h5><%= link_to product.title, product %></h5>
<p><%= social_share_button_tag(product.title) %></p>
</div>
</div>
<% end %>
</div>
</div>
问题是,在 pages/categories/show.html.erb
上,商店经理希望一些产品并排出现。
例如:4 天前他上传了一个产品 (productA),今天他上传了一个产品 (productB),他希望将其显示在 productA 旁边。但在这些产品之间还有 100 多种其他产品。
所以我的问题的背景是:商店经理如何能够重新排列 active admin
面板中的产品,以便 productA 和 productB 在 pages/categories/show.html.erb
观点?我什至可能?
p.s。这是我第一次与活跃的管理员一起工作
这是app/admin/admin_user.rb
ActiveAdmin.register AdminUser do
permit_params :email, :password, :password_confirmation
index do
selectable_column
id_column
column :email
column :current_sign_in_at
column :sign_in_count
column :created_at
actions
end
filter :email
filter :current_sign_in_at
filter :sign_in_count
filter :created_at
form do |f|
f.inputs "Admin Details" do
f.input :email
f.input :password
f.input :password_confirmation
end
f.actions
end
end
这里是 categories_controller.rb
class CategoriesController < ApplicationController
before_action :set_category, only: [:show, :edit, :update, :destroy]
def index
@categories = Category.all
end
def show
@products = @category.products
@images = ["1.jpg", "2.jpg", "3.jpg", "4.jpg", "5.jpg"]
@random_no = rand(5)
@random_image = @images[@random_no]
end
private
# Use callbacks to share common setup or constraints between actions.
def set_category
@category = Category.includes(:products).find(params[:id])
end
# Never trust parameters from the scary internet, only allow the white list through.
def category_params
params.require(:category).permit(:name, :slug)
end
end
我自己没有用过,但也许 Active Admin Sortable Table 就是您要找的。