Skip to content

Instantly share code, notes, and snippets.

@maier-stefan
Created September 21, 2014 12:35
Show Gist options
  • Save maier-stefan/e96c4d9ba37be3375a2b to your computer and use it in GitHub Desktop.
Save maier-stefan/e96c4d9ba37be3375a2b to your computer and use it in GitHub Desktop.
Newsletter opt out
Controller Action
def newsletter_opt_out
@newsletter = Newsletter.find_by_email(:email)
@newsletter.destroy
respond_to do |format|
format.html {redirect_to :back, notice: t('newsletter_opt_out')}
end
end
Route
delete 'newsletter_opt_out' => 'pages#newsletter_opt_out', as: 'newsletter_opt_out'
View
<%= form_for :newsletter, url: {action: "newsletter_opt_out"}, :html => { :method => :delete } do |f| -%>
<div class="form-group">
<%= f.text_field :email, :class => 'form-control' %>
<div class="controls">
<%= f.submit "Opt out", :class => 'btn btn-primary' %>
</div>
</div>
<% end %>
Error: undefined method `destroy' for nil:NilClass
@nichthinkof30
Copy link

Newsletter.find_by_email(params[:email])

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment