【发布时间】:2013-06-02 15:19:03
【问题描述】:
我的视图文件夹有这样的结构(它们显示逻辑结构):
所以我在 admin 子文件夹中有子文件夹,在目录文件夹中我必须有子文件夹、制造商等(制造商和其他有控制器的视图,只有目录和为空)
rails 自动为我生成了这样的路线:
namespace :admin do
namespace :catalogs do
namespace :to do
namespace :manufacturers do
namespace :models do
namespace :types do
resources :articles
end
end
end
end
end
end
namespace :admin do
namespace :catalogs do
namespace :to do
namespace :manufacturers do
namespace :models do
resources :types
end
end
end
end
end
namespace :admin do
namespace :catalogs do
namespace :to do
namespace :manufacturers do
resources :models
end
end
end
end
namespace :admin do
namespace :catalogs do
namespace :to do
resources :manufacturers
end
end
end
制造商,型号,类型正常工作,但文章工作奇怪......当我尝试编写这样的表单时:
= form_for [:admin, :catalogs, :to, :manufacturers, :models, :types, @art] do |f|
= f.label "OEM"
= f.text_field :oem_number
= f.label "Бренд"
= f.text_field :manufacturer
= f.label "Название"
= f.text_area :name
= f.label "Кол-во"
= f.text_field :quantity
= f.label "Комментарий"
= f.text_area :details
= f.label "Только с VIN"
= f.check_box :only_with_vin
= f.hidden_field :type_id, @type_id
.form-actions
= f.submit 'Сохранить изменения', :class => "btn btn-primary"
有些东西不好,我明白了 #
的未定义方法 `admin_catalogs_to_manufacturers_models_types_to_articles_path'但例如在类型中我有这样的形式:
= form_for [:admin, :catalogs, :to, :manufacturers, :models, @man] do |f|
%b
= @man.Name
%br
= @man.TYP_PCON_START.to_s[4...6].concat("-").concat(@man.TYP_PCON_START.to_s[0...4])
\-
-if @man.TYP_PCON_END.blank?
= "наст. время"
-else
= @man.TYP_PCON_END.to_s[4...6].concat("-").concat(@man.TYP_PCON_END.to_s[0...4])
%br
= ((@man.TYP_HP_FROM.to_f*0.74).round).to_i
kW
= f.label "Отображать в списке ТО?"
= f.check_box :is_in_to
.form-actions
= f.submit 'Сохранить', :class => "btn btn-danger"
= link_to 'Назад', :back, :class => "btn"
一切都好,文章有什么问题?如何以及如何改变我的路线并优化它?我尝试了一下,但得到错误...
【问题讨论】:
-
你的模型是什么样的?我很好奇你为什么需要这么多嵌入。
-
@mbratch忘记模型,必须这样做,但是怎么做?
-
@mbratch 我有制造商,它有很多型号,型号有很多类型,类型有很多文章,这就是所有型号,我只是决定将目录部分放在目录文件夹中,而不是放入。这不是问题......问题是如何做路由......模型是写的。这是 carparts 目录...非常庞大且私有的数据库,不能放在这里...
-
我不认为这对命名空间有很好的用途,命名空间用于将相关的控制器收集在一起。你可能需要嵌套
resources。 -
@mbratch 也许,因为我写它是自动生成的......
标签: ruby-on-rails routing