New Case Study:See how Anthropic automated 95% of dependency reviews with Socket.Learn More
Socket
Sign inDemoInstall
Socket

carmen-rails

Package Overview
Dependencies
Maintainers
1
Alerts
File Explorer

Advanced tools

Socket logo

Install Socket

Detect and block malicious and high-risk dependencies

Install

carmen-rails

  • 1.0.1
  • Rubygems
  • Socket score

Version published
Maintainers
1
Created
Source

carmen-rails

carmen-rails is a Rails 3 plugin that supplies two new form helper methods: country_select and subregion_select. It uses carmen as its source of geographic data.

Requirements

carmen-rails requires Ruby 1.9.2 or greater.

Installation

Just add carmen-rails to your Gemfile:

gem 'carmen-rails', '~> 1.0.0'

Usage

<%= form_for(@order) do |f| %>
  <div class="field">
    <%= f.label :country_code %><br />
    <%= f.country_select :country_code, {priority: %w(US CA), prompt: 'Please select a country'} %>
  </div>
<% end %>
SimpleForm

Pass the object to the country_select helper. This ensures the persisted country is selected when the form is rendered.

<%= simple_form_for @user do |f| %>
  <%= f.input :country_code do %>
    <%= f.country_select :country_code, {object: f.object, prompt: 'Country'} %>
  <% end %>
<% end %>

Passing the object is necessary when using nested form fields with Formtastic.

How do I only display a subset of countries/regions?

Carmen had a concept of excluded countries in the old days, where you could specify certain countries or regions to not include in a select.

The new (and much more flexible) way to handle this is to write a helper method that returns the subset of regions you want to provide:

def only_us_and_canada
  Carmen::Country.all.select{|c| %w{US CA}.include?(c.code)}
end

And then in your form something like this:

<%= f.select :country, region_options_for_select(only_us_and_canada) %>

More docs coming soon. In the meantime, all of the public methods in carmen-rails have been thoroughly TomDoc'ed.

Demo app

There is a live demo app that shows carmen-rails in action, and includes a step-by-step setup guide.

Configuration

Using this library will automatically set Carmen to use Rails' built-in I18n functionality. This means that changing some configuration should be done through Rails and not Carmen. For example, adding paths for additional locale files should be done inside config/application.rb:

config.i18n.load_path += Dir[Rails.root.join('my', 'locales', '*.{rb,yml}').to_s]

FAQs

Package last updated on 06 Mar 2014

Did you know?

Socket

Socket for GitHub automatically highlights issues in each pull request and monitors the health of all your open source dependencies. Discover the contents of your packages and block harmful activity before you install or update your dependencies.

Install

Related posts

SocketSocket SOC 2 Logo

Product

  • Package Alerts
  • Integrations
  • Docs
  • Pricing
  • FAQ
  • Roadmap
  • Changelog

Packages

npm

Stay in touch

Get open source security insights delivered straight into your inbox.


  • Terms
  • Privacy
  • Security

Made with ⚡️ by Socket Inc