Вы можете создавать локальные переменные после вызова функции рендеринга в партиале, поэтому, если вы хотите настроить партиал, вы можете, например, отрендерить партиал _form.html.erb:
<%= render 'form', button_label: "Create New Event", url: new_event_url %>
<%= render 'form', button_label: "Update Event", url: edit_event_url %>
таким образом вы можете получить доступ в частичном виде к метке для кнопки и URL-адреса, они будут другими, если вы попытаетесь создать или обновить запись. наконец, для доступа к этим локальным переменным вы должны ввести свой код 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%>