减少rails mvc / form / views中的重复

时间:2016-11-07 13:40:37

标签: ruby-on-rails model-view-controller duplicates erb

可上传图片&视频独立(一次只想要一个,但可以选择是文件类型)每个视图文件中都有重复的图像和视频以及模型(最初测试上传适用于两种文件类型)想要封装到一个元素/标签/文件/类型是正确的,尝试使用'附件'封装两者,这没有用,具体的video_tag& image_tag似乎是必要的(如果不是这样的话,请纠正我)已经加标了。

如何重构重复的任何帮助/想法?

联系人型号:

has_attached_file :image, styles: {thumb: "300x300>"}, border:{thumb: "1px solid #ddd"}

  validates_attachment_content_type :image, { content_type: ["image/jpeg", "image/gif", "image/png", "image/jpg"] }

  has_attached_file :video, styles: { :medium => { :geometry => "300x300>", :format => 'mov', :time => 10 }
      }, :processors => [:transcoder]

  validates_attachment_content_type :image, { content_type: ["video/mpeg", "video/mov", "video/wmv", "video/mp4", "video/qt", "video/mng", "video/avi"] }

new.erb(注意file_field的重复,并且想要封装为一个时有两个标签图像/视频)

<div class="polaroid" >
    <div class="container">
        <div>
          <%= f.file_field :image %>
          <%= image_tag(:image_url) %>
        </div>
        <div>
          <%= f.file_field :video %>
          <%= video_tag(:video_url) %>
        </div>
    </div>
</div>
<br />
<br />

<%= f.submit %>

show.erb(处理图片和电子邮件的重复行)

<p><%= image_tag @contact.image.url(:thumb) %></p>
<p><%= video_tag @contact.video.url(:medium), :width=>300, :controls => true, :autoplay => true, :loop => true, :class=>"work"  %></p>

index.erb(两个标签再次重复link_to)

  <div class="polaroid" >
    <div class="container">
      <%= link_to image_tag(contact2.image.url(:thumb), :class=> "work" ), contact_path(contact2) %>
      <%= link_to video_tag(contact2.video.url(:medium), :size => "250x250", :autoplay => true, :loop => true, :class=>"work" ), contact_path(contact2) %>
        <h3><%=contact2.firstname%> <%=contact2.surname%></h3>

0 个答案:

没有答案