Fields_for构建每次更新时重复自己

时间:2014-12-10 16:28:42

标签: ruby-on-rails ruby fields-for

我有一个愚蠢的问题,我不知道如何解决。

我正在使用fields_for,每次编辑时,构建都会再次完成,我会重复使用属性。我只想要赞助商,如果它是第一次创建/更新,否则我希望他们只是更新。

我的观点

<%= f.input :sponsored %>
<%= f.fields_for :sponsors do |sponsor| %>   
  <%= sponsor.input :name, placeholder: "Marca", label: "Marca(s)" %>
  <%= sponsor.input :description, placeholder: "Descripción de la marca", label: "Descripción" %>
  <%= sponsor.input :web, placeholder: "Web" %>
  <%= sponsor.input :facebook, placeholder: "Facebook" %>
  <%= sponsor.input :twitter, placeholder: "Twitter" %>
  <%= sponsor.input :sponsored_avatar, placeholder: "Avatar" %>
<% end %>

照片控制器

def edit
  @photo = Photo.friendly.find(params[:id])
  @photo.sponsors.build
end

由于

1 个答案:

答案 0 :(得分:1)

代码中的一点是,Photo.friendly.find(params[:id])已经创建了某个赞助商,然后当您@photo.sponsors.build时,您正在添加一个空赞助商,因此,您只需要在{{1}时进行构建我没有赞助商,我认为这可以帮到你

Photo.friendly