```ruby
module Spree
  module PromotionRulesHelper
    def options_for_promotion_rule_types(promotion)
      existing = promotion.rules.map { |rule| rule.class.name }
      rule_names = Rails.application.config.spree.promotions.rules.map(&:name).reject{ |r| existing.include? r }
      options = rule_names.map { |name| [Spree.t("promotion_rule_types.#{name.demodulize.underscore}.name"), name] }
      options_for_select(options)
    end
  end
end
```

Use i18n model_name syntax for promotion rules
user
```ruby
module Spree
  module PromotionRulesHelper
    def options_for_promotion_rule_types(promotion)
      existing = promotion.rules.map { |rule| rule.class.name }
      rules = Rails.application.config.spree.promotions.rules.reject { |r| existing.include? r.name }
      options = rules.map { |rule| [rule.model_name.human, rule.name] }
      options_for_select(options)
    end
  end
end
```
assistant