【发布时间】:2012-01-19 01:07:52
【问题描述】:
我正在 Rails 中创建一个自定义 mimetype 以与 respond_to 一起使用
Mime::Type.register_alias "text/html", :modal
我想像这样在 respond_to 中使用这种 mime 类型:
respond_to do |format|
format.html{ render 'index'}
format.modal{ render 'index', :layout => 'bare'}
end
我希望这种格式基本上提供与 .thml 格式相同的视图,但布局不同
我收到一个缺少模板的错误
Missing template support/index with {:handlers=>[:erb, :rjs, :builder, :rhtml, :rxml], :formats=>[:modal], :locale=>[:en, :en]} in view paths "/remote/app/views",
它正在寻找一个名为 index.modal.erb 的视图
我目前只有index.html.erb
我已经尝试创建index.modal.erb,它确实可以工作,但是布局也有同样的问题,我只有bare.html.erb 的布局
我真的不想为不同的 mime 类型复制这些视图文件。我希望有一种方法可以让自定义 mime 类型回退到我缺少的 html 视图。
【问题讨论】:
-
到目前为止,我发现的唯一功能性解决方案是将所有视图从
view.html.erb重命名为view.erb,这样 rails 就不会寻找特定的格式,而只是默认为view.erb这在具有大量现有视图文件的项目中不太理想。
标签: ruby-on-rails ruby-on-rails-3 erb rails-routing