Для простого репортера неработающей ссылки я бы просто использовал помощника для сухого кода, например:
module ApplicationHelper
def report_broken_link_for( id )
link_to "report broken link", {:controller => "reporting", :action => "report_broken_link", :id => id}, :class => "broken_link_reporter_link", :remote => true
end
Я полагаю, что вам не нужно использовать форму, но если вы чувствуете себя таким склонным, вы можете изменить помощника. Добавляйте / удаляйте параметры по своему усмотрению, но идентификатор элемента, вероятно, будет достаточно простым, вы можете найти фактическую ссылку в конце. Просто используйте его в своих взглядах:
<% @items.each do |item| %>
<%= link_to item.url %>
<%= report_broken_link_for item.id %><br/>
<% end %>
Используйте некоторые ujs, чтобы убедиться, что они не репостируют:
$('.broken_link_reporter_link')
.live('ajax:success', function(evt, data, status, xhr){
$(this).replaceWith("thanks!");
});
Надеюсь, это поможет.