Ous êtes en mesure de créer des variables locales une fois que vous appelez la fonction de rendu sur un partiel, donc si vous voulez personnaliser un partiel vous pouvez par exemple rendre le partiel _form.html.erb
par :
<%= render 'form', button_label: "Create New Event", url: new_event_url %>
<%= render 'form', button_label: "Update Event", url: edit_event_url %>
De cette façon, vous pouvez accéder dans le partiel à l'étiquette du bouton et à l'URL, qui sont différents si vous essayez de créer ou de mettre à jour un enregistrement. Enfin, pour accéder à ces variables locales, vous devez mettre dans votre code local_assigns[:button_label]
( local_assigns[:name_of_your_variable]
)
<%=form_for(@event, url: local_assigns[:url]) do |f| %>
<%= render 'shared/error_messages_events' %>
<%= f.label :title ,"Title"%>
<%= f.text_field :title, class: 'form-control'%>
<%=f.label :date, "Date"%>
<%=f.date_field :date, class: 'form-control' %>
<%=f.label :description, "Description"%>
<%=f.text_area :description, class: 'form-control' %>
<%= f.submit local_assigns[:button_label], class:"btn btn-primary"%>
<%end%>