This commit is contained in:
Andrew Brown 2013-04-20 16:40:29 -05:00
parent 15656f3ba8
commit 4f0f0a3d79
7 changed files with 90 additions and 37 deletions

View File

@ -40,6 +40,7 @@ class CharactersController < ApplicationController
# GET /characters/new.json
def new
@character = Character.new
@character.custom_fields.build
respond_to do |format|
format.html # new.html.erb
@ -50,11 +51,14 @@ class CharactersController < ApplicationController
# GET /characters/1/edit
def edit
@character = Character.find(params[:id])
@character.custom_fields.build
end
# POST /characters
# POST /characters.json
def create
#raise params.to_yaml
@character = Character.new(params[:character])
@character.user_id = session[:user]
@character.universe = Universe.where(user_id: session[:user]).where(name: params[:character][:universe].strip).first

View File

@ -66,5 +66,6 @@ class Character
belongs_to :user
belongs_to :universe
embeds_many :custom_fields
has_many :custom_fields
accepts_nested_attributes_for :custom_fields #, :reject_if => lambda { |a| a[:key].blank? and a[:value].blank? }
end

View File

@ -4,5 +4,5 @@ class CustomField
field :value, :type => String
field :section, :type => String
embedded_in :character
belongs_to :character
end

View File

@ -0,0 +1,13 @@
<div class="control-group">
<%= fb.text_field :key, class: "text_field control-label custom-key", placeholder: "Key" %>
<div class="controls">
<div class="pull-right">
<!--
<i class="icon-remove remove-custom-field"></i>
<%= fb.check_box :_destroy %>
<%= fb.label :_destroy, "Remove" %>
-->
</div>
<%= fb.text_field :value, class: "text_field custom-value", placeholder: "Value" %>
</div>
</div>

View File

@ -38,7 +38,25 @@
</div>
</div>
<%= render :partial => '/layouts/planning/custom_fields', :locals => { :section => "General" } %>
<hr />
<%= f.fields_for :custom_fields do |custom_field| %>
<div>
<h5 class="muted toggle-custom-fields"><i class="icon-chevron-down"></i> Advanced: Add your own fields to this tab</h5>
<div class="more-fields-form custom-field-form">
<br />
<div class="fields-container">
<%= render "custom_fields", :fb => custom_field %>
</div>
<div class="btn btn-small add-custom-field">
<i class="icon-plus"></i> Add Field
</div>
</div>
</div>
<% end %>
<hr />
</div>
<div class="hidden section appearance_section">

View File

@ -5,7 +5,7 @@
<div class="controls">
<%= f.text_field :name, :class => 'text_field' %>
<a href="#" class="help-inline character_name_generator">
<i class="icon-refresh"></i> Randomize
<i class="icon-refresh"></i> Randomize
</a>
</div>
</div>
@ -26,7 +26,7 @@
<div class="controls">
<%= f.text_field :age, :class => 'text_field' %>
<a href="#" class="help-inline character_age_generator">
<i class="icon-refresh"></i> Randomize
<i class="icon-refresh"></i> Randomize
</a>
</div>
</div>
@ -38,7 +38,22 @@
</div>
</div>
<%= render :partial => '/layouts/planning/custom_fields', :locals => { :section => "General" } %>
<hr />
<%= f.fields_for :custom_fields do |custom_field| %>
<div>
<h5 class="muted toggle-custom-fields"><i class="icon-chevron-down"></i> Advanced: Add your own fields to this tab</h5>
<div class="more-fields-form custom-field-form">
<br />
<div class="btn btn-small add-custom-field">
<i class="icon-plus"></i> Add Field
</div>
<br /><br />
<%= render "custom_fields", :fb => custom_field %>
</div>
</div>
<% end %>
<hr />
</div>
<div class="hidden section appearance_section">
@ -102,10 +117,10 @@
<div class="hidden section social_section">
<div class="control-group">
<%= f.label 'Best Friend', :class => 'control-label' %>
<div class="controls">
<%= f.text_field :bestfriend, :class => 'text_field' %>
<%= character_picker %>
<%= f.label 'Best Friend', :class => 'control-label' %>
<div class="controls">
<%= f.text_field :bestfriend, :class => 'text_field' %>
<%= character_picker %>
</div>
</div>
<div class="control-group">
@ -164,7 +179,7 @@
<%= f.label 'Birthplace', :class => 'control-label' %>
<div class="controls">
<%= f.text_field :birthplace, :class => 'text_field' %>
<%= location_picker %>
<%= location_picker %>
</div>
</div>
<div class="control-group">
@ -194,14 +209,14 @@
<%= f.label 'Possession', :class => 'control-label' %>
<div class="controls">
<%= f.text_field :fave_possession, :class => 'text_field' %>
<%= equipment_picker %>
<%= equipment_picker %>
</div>
</div>
<div class="control-group">
<%= f.label 'Weapon', :class => 'control-label' %>
<div class="controls">
<%= f.text_field :fave_weapon, :class => 'text_field' %>
<%= equipment_picker %>
<%= equipment_picker %>
</div>
</div>
<div class="control-group">
@ -216,38 +231,38 @@
<div class="hidden section relationships_section">
<div class="control-group">
<%= f.label 'Father', :class => 'control-label' %>
<div class="controls">
<%= f.text_field :father, :class => 'text_field' %>
<%= character_picker %>
<%= f.label 'Father', :class => 'control-label' %>
<div class="controls">
<%= f.text_field :father, :class => 'text_field' %>
<%= character_picker %>
</div>
</div>
<div class="control-group">
<%= f.label 'Mother', :class => 'control-label' %>
<div class="controls">
<%= f.text_field :mother, :class => 'text_field' %>
<%= character_picker %>
<%= f.label 'Mother', :class => 'control-label' %>
<div class="controls">
<%= f.text_field :mother, :class => 'text_field' %>
<%= character_picker %>
</div>
</div>
<div class="control-group">
<%= f.label 'Spouse', :class => 'control-label' %>
<div class="controls">
<%= f.text_field :spouse, :class => 'text_field' %>
<%= character_picker %>
<%= f.label 'Spouse', :class => 'control-label' %>
<div class="controls">
<%= f.text_field :spouse, :class => 'text_field' %>
<%= character_picker %>
</div>
</div>
<div class="control-group">
<%= f.label 'Siblings', :class => 'control-label' %>
<div class="controls">
<%= f.text_field :siblings, :class => 'text_field' %>
<%= character_picker %>
<%= f.label 'Siblings', :class => 'control-label' %>
<div class="controls">
<%= f.text_field :siblings, :class => 'text_field' %>
<%= character_picker %>
</div>
</div>
<div class="control-group">
<%= f.label 'Archenemy', :class => 'control-label' %>
<div class="controls">
<%= f.text_field :archenemy, :class => 'text_field' %>
<%= character_picker %>
<%= f.label 'Archenemy', :class => 'control-label' %>
<div class="controls">
<%= f.text_field :archenemy, :class => 'text_field' %>
<%= character_picker %>
</div>
</div>

View File

@ -3,10 +3,6 @@
<h5 class="muted toggle-custom-fields"><i class="icon-chevron-down"></i> Advanced: Add your own fields to this tab</h5>
<div class="more-fields-form custom-field-form">
<br />
<div class="btn btn-small add-custom-field">
<i class="icon-plus"></i> Add Field
</div>
<br /><br />
<div class="control-group">
<input type="text" class="text_field control-label custom-key" placeholder="Key" />
@ -15,6 +11,12 @@
<input type="text" class="text_field custom-value" placeholder="Value" />
</div>
</div>
<br /><br />
<div class="btn btn-small add-custom-field">
<i class="icon-plus"></i> Add Fields
</div>
</div>
</div>
<hr />