Ich verwende verschachtelte Attribute für Benutzeradressen.Rails - geschachtelte Attribute Problem
class User < ApplicationRecord
accepts_nested_attributes_for :address, update_only: :true
Ich gebe die Adresse ID als verstecktes Feld bei der Anmeldung.
<%= form_for (@user), :html => {:class => 'lead-form'} do |f| %>
<%= f.email_field :email, class:'form-control', placeholder: "Email", required: true %>
<%= f.password_field :password, class:'form-control', placeholder: "Senha", required: true %>
<%= f.fields_for :address do |addresses_form| %>
<%= addresses_form.hidden_field :address_id, :value => @address.id %>
<% end %>
<%= f.submit 'Pedir meu convite', class: "button lead-form-button" %>
<% end %>
Die E-Mail wird als Eindeutigkeit validiert. Also, wenn jemand versuchen, mit einer bereits getroffenen E-Mail melden Sie sich an der Adresse params als null übergeben werden, und ich bekomme die Fehlermeldung:
NoMethodError in Users#create
undefined method `id' for nil:NilClass
Jede Idee, wie ich das beheben kann?
Hier ist mein Controller:
def new
@user = User.new
@address = @user.build_address
end
def create
@user = User.new(user_params)
if @user.save
log_in @user
flash[:success] = "Você está dentro. Esse é seu perfil! =) "
redirect_to @user
else
render 'new'
end
end
private
def user_params
params.require(:user).permit(:id, :primeiro_nome, :sobrenome, :email, :cpf, :telefone, :sexo, :data_de_nascimento, :password, address_attributes: [:id, :logradouro, :bairro, :cidade, :uf, :complemento, :cep])
end
ps: Der Verein ist 0.59. Wie kann ich die Adressattribute aufrufen, wenn ich nicht als ausgeblendet gebe?
Aber wenn ich nicht mit Gewalt eine Benutzeradresse mit null Werten Benutzer zu erstellen, wie kann ich anrufen es auf der Aktualisierungsseite? Der Verein ist eins zu eins. – user1301037
Also, Sie müssen ein verschachteltes Formular haben. – nzajt
Watch this, es ist eine ältere Version von Schienen, aber die Idee ist die gleiche. Nachdem Sie Ihren Code eine Weile angesehen haben, müssen Sie wahrscheinlich von vorn beginnen. http://railscasts.com/episodes/196-nested-model-form-part-1. – nzajt