过去两天我一直在尝试,但最终失败了。我想获得这样的网址:dresses/type/flower-girl
但我所拥有的只是/dresses/type/4
我有Shop has_many Dresses
和Type has_many Dresses
。在我的Dress
表中,我有type_id
引用该Type
表的列。
这是我的代码:
# Routes file
resources :dresses
match '/dresses/type/:id' => 'dresses#type'
# Type.rb model
extend FriendlyId
friendly_id :name, use: :slugged
# Dresses Controller
def index
@types = Type.all
end
def type
@dresses = Dress.find_all_by_type_id(params[:id])
end
# View (index.html.erb)
<% @types.each do |type| %>
<%= link_to type.name, :action => "type", :id => type.id %>
<% end %>
我也尝试过在路由、控制器和视图中使用:name
替换,但它们却产生了。:id
/dresses/type/Flower%20Girl
我做错什么了?