可能有点长,但我会尝试清楚地解释我的问题。
以下是我的路线:
resources :jobs do
scope :module => :job_scope do
resource :company do
resource :company_page
end
end
end
好的,编辑公司页面的网址是: 作业/ 53-JOBNAME /公司/ company_page /编辑。
这由控制器处理
JobScope::CompanyPagesController << ::CompanyPagesController
CompanyPage
有许多containers
(容器是多态的)
当我尝试渲染容器时,我会
<% @containers.each do |container| %>
<%= render container %>
<% end %>
通常,它会渲染,例如:
/notes/_note.html.erb
/galleries/_gallery.html.erb
但现在,它呈现
job_scope/notes/_note.html.erb
我不想以任何方式重复我的观点。
我自己构建路径是唯一的选择吗?像(在帮手中)的东西:
render "#{container.class.name.underscore.pluralize}/#{container.class.name.underscore}"
谢谢!
答案 0 :(得分:1)
http://groups.google.com/group/rubyonrails-core/browse_thread/thread/9a5219dc05550934
这些人有同样的问题。我不认为现在有一个优雅的解决方案。我们需要某种选择来防止这种行为......