Here is my issue: I am setting up internationalization on my site (so we can have multiple translations of the text on the pages). I have followed a rails cast to set up a page that can manage the translations instead of me manually having to edit every yml file.
I have set everything up and can create entries fine, I am trying to add the ability to delete an entry and I have hit a wall. I can't seem to set up the link correctly to delete the entry from redis. The first thing that made this complicated (at least to me) is that I am not deleting an object that was created through active record (like a user etc). So instead of using the active record object to construct the url for the link_to or form_for I have to construct it manually.
From what I have read so far I have to put the link in a form (and set to post since we are modifying the redis db). So I have been trying to create the correct syntax in the form for tag to direct to the action I have set up in the controller.
Controller:
class InternationalizationTranslationsController < ApplicationController
  def index
    @translations = I18n.backend.store
  end
  def create
      I18n.backend.store_translations(params[:locale], {params[:key] => params[:value]}, :escape =>false)
      redirect_to internationalization_translations_url, :notice => "Added translation"
  end
  def destroy
    puts "Key is:  #{params[:key]}"
    I18n.backend.delete(params[:key])
    redirect_to internationalization_translations_url, :notice => "Removed translation"
  end
end
View:
<%= form_tag internationalization_translations_path do %>
  <p>
    <%= label_tag :locale %>
    <%= text_field_tag :locale %>
  </p>
  <p>
    <%= label_tag :key %>
    <%= text_field_tag :key %>
  </p>
  <p>
    <%= label_tag :value %>
    <%= text_field_tag :value %>
  </p>
  <p><%= submit_tag "Submit" %></p>
<% end %>
</div>
  <div class="grid_7 top_padding">
<table class="trans_table">
<% @translations.keys.each_with_index do |key, i| %>
<tr class="<%= i%2 == 0 ? "even" : "odd" %>">
  <td><%= key %></td>
  <td><%= @translations[key] %></td>
Then I played with form_for and form_tag looking at the documentation (form helpers and form tag docs) eventually ending with these, that still do not work:
    <%= form_tag(controller: "internationalization_translations", action: "destroy", method: "post", key: key) %>
    <%= submit "Delete" %>
    <% end %>
and now
    <%= form_tag(internationalization_translations_path, action: "destroy", method: "post", key: key) do %>
    <%= submit_tag "Delete" %>
    <% end %>
I also played with the link_to for a while before coming across this post which linked to why the delete link/button should be in a form because it is editing the DB so it needed to be post instead of get. I am a little frustrated because this seems like a pretty straight forward task but I am running into some difficulties finding a clear answer regarding my particular issue, specifically the routing for this link for a redis entry and not an activerecord object.
**also since the form for the button is being created in a loop for each entry I should probably have the form named with an index so it is specific for each button?
Any insight or links would be greatly appreciated.
Thanks,
Alan