我希望它们很好,需要使用用户的个人资料及其各自的汽车进行嵌套表格。
每个用户都有自己的个人资料:
class PerfilController < ApplicationController
before_filter :authenticate_user!
def index
end
def show
@usuario = current_user
@usuario.perfil ||= Perfil.new
@perfil = @usuario.perfil
end
def update
@usuario = current_user
@perfil = @usuario.perfil
respond_to do |format|
if @usuario.perfil.update_attributes(perfil_params)
format.html {redirect_to @usuario, notice: "Datos Actualizados" }
else
format.html {render action: "show"}
end
end
end
private
def perfil_params
params.require(:perfil).permit(:nombre, :apellido, :rut)
end
end
我希望基金确保每次用户发布汽车时,您都可以更新您的个人资料。副嵌套表格
<%= simple_form_for(@auto) do |f| %>
<%= f.error_notification %>
<%=f.fields_for @perfil do |perfil_builder|%>
<p>
<%= perfil_builder.label :nombre %><br/>
<%= perfil_builder.text_field :nombre %>
<%= perfil_builder.label :apellido %><br/>
<%= perfil_builder.text_field :apellido %>
<%= perfil_builder.label :rut %><br/>
<%= perfil_builder.text_field :rut %>
</p>
<%end%>
<div class="form-inputs">
<%= f.association :region %>
<%= f.association :ciudad %>
<%= f.association :marca %>
<%= f.input :modelo %>
<%= f.input :version %>
<%= f.input :año %>
<%= f.input :patente %>
<%= f.association :tipo_transmision %>
<%= f.association :combustible %>
<%= f.association :tipo_vehiculo %>
<%= f.association :carroceria %>
</div>
<div class="form-actions">
<%= f.button :submit, :id => 'submit' %>
</div>
<% end %>
问题是当您想要更新时不会更改用户数据但是如果您发布文章。控制台中的错误是:未允许的参数:perfil
最好的问候朋友。
答案 0 :(得分:0)
您正在向自动控制器发送请求,因此Unpermitted parameter: perfil
错误并且无法更新。
您可以将其添加到Perfil控制器:
has_many: :autos
accept_nested_attributes_for: :autos
然后在视图中切换它:
<%= simple_form_for(@perfil) do |f| %>
<%= f.error_notification %>
<%= f.label :nombre %><br/>
<%= f.text_field :nombre %>
...
<%=f.fields_for :auto do |auto_builder|%>
<p>
<%= auto_builder.association :region %><br/>
...
有关详细信息,请参阅此页:http://api.rubyonrails.org/classes/ActiveRecord/NestedAttributes/ClassMethods.html