在 Post 模型中,我有一个属性,如“content_type”。不同类型的帖子应该在同一个列表中以不同的方式显示。目前我只有一个想法:
<%=
@posts.each do |d|
if d.content_type == "NormalStory"
render :partial => 'posts/normal', :locals => { :content => d }
elsif d.content_type == "FotoStory"
render :partial => 'posts/foto', :locals => { :content => d}
elsif d.content_type "VideoStory"
render :partial => 'posts/video', :locals => { :content => d }
end
end
%>
你能给我推荐一些更“优雅”的东西吗?
最佳答案
我会创建一个帮助程序,它从 content_type
中改变部分内容,例如:
def render_post(post)
template = post.content_type.sub(/Story$/, '').downcase
render :partial => "posts/#{template}", :locals => { :content => post }
end
关于ruby-on-rails - 不同类型内容的不同部分,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8273255/