custom-attributes
文件大小: unknow
源码售价: 5 个金币 积分规则     积分充值
资源说明:Managing custom active record attributes
Custom Attributes
=================

Makes it easy to extend models with custom attributes. Think about adding telephone numbers to people,
or weight and size measurements to products.

Most of these fields can be used purely dynamic and objects could have multiples of them (think telephone numbers, or email
addresses)

This code is *NOT* production ready yet!

TODO
====
- Make Formtastic extension better
- Supply specs for the formtastic part
- Make custom extensions work as nested forms (accept_attributes_for stuff)


Contents of the package
=======================

* Extension for ActiveRecord
* Extension for Formtastic (including jQuery widget)
* Extension for Cucumber for integration testing

Usage
=====
ActiveRecord will be extended automatically

Formtastic needs to be extended manually, like:

    Formtastic::SemanticFormBuilder.send(:include, Formtastic::CustomAttributes)

Or when using a custom Form builder, just

    include ::Formtastic::CustomAttributes

in your custom form builder

In the public folder are CSS and jQuery files for building a user interface

Example
=======

    # model
    class Location < ActiveRecord::Base

      has_custom_attributes :url => :string, :telephone => :string, :email => :string, :custom => :string do |fields|
        fields.telephone :common, :help_desk, :sales, :fax
        fields.email :common, :sales, :help_desk
        fields.url :website
      end

    end

    # view (haml)

    = semantic_form_for resource do |form|
      = form.inputs "General", :name
      = form.custom_attribute_inputs
      = form.buttons

I18n
====

    nl:
      activerecord:
        custom_attributes:
          location:
            attribute_names:
              telephone:
                one: "telefoonnummer"
                other: "telefoonnummers"
              url:
                one: "website"
                other: "websites"
              email:
                one: "e-mail adres"
                other: "e-mail adressen"
              custom:
                one: "ander attribuut"
                other: "andere attributen"

            telephone:
              common: "Algemeen"
              help_desk: "Helpdesk"
              sales: "Verkoop afdeling"
              fax: "Fax"

            email:
              common: "Algemeen"
              help_desk: "Helpdesk"
              sales: "Verkoop afdeling"

		formtastic:
		  actions:
		    add_custom_attribute: "Attribuut toevoegen"
		    create_custom_attribute: "%{attribute} toevoegen"
		    destroy_custom_attribute: "%{attribute} verwijderen"

		  hints:
		    location:
		      telephone: "+31 (0) 12 3456 789"


本源码包内暂不包含可直接显示的源代码文件,请下载源码包。