bra*_*r19 8 routing ruby-on-rails
我有我的视图文件夹的这种结构(它们显示logis结构):
所以我在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
Run Code Online (Sandbox Code Playgroud)
制造商,型号,类型工作正常,但文章工作奇怪...当我尝试写这样的形式部分:
= 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"
Run Code Online (Sandbox Code Playgroud)
事情很糟糕,我得到###:0xbbedf60>的未定义方法`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"
Run Code Online (Sandbox Code Playgroud)
一切都好,文章有什么问题?如何以及在我的路线中改变什么并对其进行优化?我尝试了一下,但得到错误......
如果您希望保留这种嵌套结构,我认为最好使用嵌套资源而不是命名空间。
嵌套资源看起来像:
namespace :admin do
resources :catalogs do
resources :to do
resources :manufacturers do
resources :models do
resources :types do
resources :articles do
Run Code Online (Sandbox Code Playgroud)
文章的表单如下所示:form_for [:admin, @catalogue, @to, @manufacturer, @model, @type, @article]
afticles 索引的 url 如下所示admin_catalogs_to_manufacturers_models_types_articles_path(@catalogue, @to, @manufacturer, @model, @type)
,并且会生成如下所示的 url:www.example.com/admin/catalogs/1/to/1/manufacturer/1/model/1/type/1/articles
请注意,除了 admin 之外,url 的所有部分实际上都是实例
归档时间: |
|
查看次数: |
1332 次 |
最近记录: |