0
假設我有一個管理Widget
對象並使用簡單表繼承的Rails 4應用程序,我有專門知識Widget::Foo
和Widget::Bar
。爲Rails 4中的STI模型生成通用路徑
我想通過一個WidgetsController
管理我所有的Widget
對象。
我有以下型號:
class Widget < ActiveRecord::Base; end
class Widget::Foo < Widget
# Foo specific details...
end
class Widget::Bar < Widget
# Bar specific details...
end
和一個簡單的控制器:
class WidgetsController < ApplicationController
def index
@widgets = Widget.all
end
def show
@widget = Widget.find(params[:id])
end
end
我的路線包括
resources :widgets, only: [:index, :show}
在我index.html.haml
我有類似:
- @widgets.each do |widget|
= link_to "View your widget!", [@widget]
哪裏出問題了。
之間url_for
和polymorphic_path
Rails將嘗試找到一個widget_foo_path
,而不是使用現有的widget_path
。
我寧願不添加額外的路由或控制器,我寧願不手動指定url助手。有沒有辦法告訴Rails Widget::Foo
和Widget::Bar
對象應該鏈接到使用widget_path
助手?