我有一个Post
模型,帖子可以是视频帖子(带有 YouTube 链接)或文章帖子(带有正文)。有一个枚举post_type
来确定 Post 的类型。
在我show.html.erb
看来,我想根据显示的帖子类型显示不同的模板文件。
html.erb
文章和视频的整个文件内容是不同的。
在我的控制器中,我希望能够检查帖子类型并相应地呈现不同的文件。
if @post.video?
//render video show view `video_show.html.erb`
else
// render article show view `article_show.html.erb`
end
我已经尝试render template: 'posts/video'
渲染posts/video.html.erb
我创建的新文件,但这根本不起作用。
做这个的最好方式是什么?我想遵循惯例,而不是使用粗糙的部分和简单的 if-else 在部分之间切换。
只是简单的渲染适合您,您可以使用以下代码:
如果文件在同一个控制器的视图中,只需使用 HTML 文件名呈现
if @post.video?
render 'video_show'
else
render 'artical_show'
end
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句