Ich versuche, ein Formular zu machen, dass Sie nur einmal zugreifen können, bevor ein bestimmter Boolescher Wert auf True festgelegt ist, und mit Ihnen einige andere Informationen eingeben, das Problem ist, dass ich nicht weiß Wie man es richtig einrichtet, lädt das Formular bis jetzt kein Problem, aber es aktualisiert die Information des Benutzers nicht.Alternate Update-Formular in Rails
mein Hauptproblem ist, dass ich weiß nicht, wie die Routen einzurichten und die Form, da die meisten der Zeit, die ich resources:
nur nutzen sie automatisch
hier ist meine Form zu machen:
<%= form_for @user, url: organizer_user_path, method: :put do |f| %>
.
.
.
<%end%>
meine Routen, die ich nicht glaube, ist bei allen
richtig setzenget 'organizer/user', to: "users#organizer_form"
put 'organizer/user', to: "users#organizer_registration"
und mein Controller
def organizer_form
@user = User.find(current_user[:id])
end
def organizer_registration
@user = User.find(current_user[:id])
if @user.update_attributes(user_params)
redirect_to @user
else
render 'organizer_form'
end
end
Ich bin mir sicher, das Problem liegt darin, wie ich meine Routen definieren und wie sie auf das Formular aufgerufen werden, jede Hilfe?
hier sind die params, die eingereicht werden:
--- !ruby/object:ActionController::Parameters
parameters: !ruby/hash:ActiveSupport::HashWithIndifferentAccess
utf8: "✓"
_method: put
authenticity_token: w9zTUQLK+4kZtbvRCfcYfZgn8ma4xSRdbTMy+fktpoHlGADxHSB6u9QBh3K3zv72V/Ys2b3Q1MiKC0Gr+OqNJw==
user: !ruby/object:ActionController::Parameters
parameters: !ruby/hash:ActiveSupport::HashWithIndifferentAccess
organizer: 'true'
contact_name: Name
last_name: Last name
contact_email: [email protected]
cellphone: '1234567'
company: ''
office_phone: ''
website: ''
permitted: false
commit: continuar
controller: users
action: organizer_registration
permitted: false
Das ist mein user_params
def user_params
params.require(:user).permit(:name, :email, :password, :password_confirmation, :organizer, :contact_name, :last_name, :contact_email, :cellphone, :company, :office_phone, :website)
end
Können Sie die '' params'', die beim Senden des Formulars generiert wurden, posten? – Pavan
Ich habe die Parameter gepostet, ich habe Probleme, den Unterschied zwischen den Put- und Patch-Methoden zu verstehen. – Bluespheal
Fügen Sie Ihre 'user_params' Methode hinzu – Pavan