For giving it a name, try:
<%= f.submit class: "btn", name: "Create Tale" %>
For naming it differently depending on the action. What I normally do is pass the button-name into the form-template from the action-view. Eg in new.html.erb:
<%= render partial: 'form', button_name: 'Create Widget' %>
in edit.html.erb:
<%= render partial: 'form', button_name: "Update Widget" %>
in form:
<%= f.submit name: button_name %>
The alternative is not to put the submit buttons in the "form" partial, but to keep them in the action-views eg for "new.html.erb"
<%= form_for @widget do |f| %>
<%= render partial: 'form' %>
<%= f.submit name: 'Create Widget' %>
<% end %>
for "edit.html.erb"
<%= form_for @widget do |f| %>
<%= render partial: 'form' %>
<%= f.submit name: 'Update Widget' %>
<% end %>
NOTE: code not tested and probably buggy, but you get the drift...