Так что вот ссылка http://127.0.0.1:3000/zones/create_value_zone_printout?value_zone=3-0010000-001
, она может использоваться массово (повторяется) всегда, мне нужно исправить это и выключить.Что я имею в виду под этим?Ссылка должна работать только при нажатии на кнопку, не заходя в браузер.Может быть, попытаться зашифровать ссылку?Может быть, у кого-то есть идеи?
def create_value_zone_printout
@service = "value_zones"
if !public_user?
return unless check_service_permissions
end
respond_to do |format|
format.html do
rep_id = Report.get_printout_file_id('VALUE_ZONE', session, {:value_zones => params[:value_zone]})
unless rep_id.blank? or rep_id.is_a?(Array)
return permission_denied(SilentError.new("Kļūda veidojot izdruku!", rep_id.to_s, true))
end
add_service_to_user_orders(nil, [params[:value_zone]], rep_id) unless public_user?
file_data = Attachment.find_by_id(rep_id.first.keys.first)
send_data(file_data.data_buffered, :filename => file_data.file_name)
file_data.destroy if public_user?
end
end
end
map.resources :zones, :collection => {:create_value_zone_printout => :get}
<%= link_to 'sagatavot izdruku', {:controller => "zones", :action => "create_value_zone_printout", :value_zone => @zone.zone_name}, :class=>"print" %>
PS Только ссылка value_zone
меняется в ссылке для каждой позиции, может быть, просто установить только 1 запрос на значение_зоны?Но это не очень хорошая идея.
Ruby V .: 1.8.7