Rails路由:“范围:模块”的问题

时间:2011-08-21 22:54:57

标签: ruby-on-rails ruby-on-rails-3

可能有点长,但我会尝试清楚地解释我的问题。


以下是我的路线:

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}"

谢谢!

1 个答案:

答案 0 :(得分:1)

http://groups.google.com/group/rubyonrails-core/browse_thread/thread/9a5219dc05550934

这些人有同样的问题。我不认为现在有一个优雅的解决方案。我们需要某种选择来防止这种行为......