【发布时间】:2015-12-03 23:55:12
【问题描述】:
如何参数化枚举?我需要使用枚举作为参数,它有一个整数值作为数据类型。
models/product.rb
class Product < ActiveRecord::Base
enum category_id: [ :hotel, :travel, :restaurant ]
end
视图/产品/侧边栏
<div class="col-md-3">
<ul class="list-group">
<li class="list-group-item">
<span class="badge"><%= Product.where(user_id: current_user).count %></span>
<a href="<%= provider_root_path %>">All</a>
</li>
<% @categories.each do |category| %>
<li class="list-group-item">
<span class="badge"><%= Product.where(category_id: category[1]).count %></span>
<a href="<%= provider_product_category_path(category[0].parameterize) %>"><%= category[0].titleize %></a>
</li>
<% end %>
</ul>
</div>
这条线完全符合我的要求:
<%= product_category_path(category[0].parameterize) %>
它产生:
'/product/category/travel'
这是我的问题:
controllers/product_controller.rb
def category
@products = Product.where(category_id: params[:category_id]).order("created_at DESC")
@categories = @products.category_ids
end
我需要将params[:category_id] 更改为整数。我试过params[:category_id].to_i,但它总是返回0。
有人可以帮忙吗?在此先感谢:)
【问题讨论】:
标签: ruby-on-rails ruby enums slug