Você pode criar variáveis locais depois de chamar a função de renderização em uma parcial; portanto, se você deseja personalizar uma parcial, pode, por exemplo, renderizá-la _form.html.erb
por:
<%= render 'form', button_label: "Create New Event", url: new_event_url %>
<%= render 'form', button_label: "Update Event", url: edit_event_url %>
Dessa forma, você pode acessar no rótulo parcial para o botão e o URL, esses serão diferentes se você tentar criar ou atualizar um registro. finalmente, para acessar essas variáveis locais, você deve inserir seu código 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%>