valid BBCOde Document
Hello World # => rule text
[b]I'd like to teach the world to dance[/b] # => rule expression
Also Valid
[b]Hello World[/b] # rule expression
require 'webrat' | |
require 'webrat/core/matchers' | |
include Webrat::Methods | |
include Webrat::Matchers | |
Webrat.configure do |config| | |
config.mode = :mechanize | |
end | |
class MechanizeWorld < Webrat::MechanizeSession |
NSError* error; | |
if(![managedObjectContext save:&error]) { | |
NSLog(@"Failed to save to data store: %@", [error localizedDescription]); | |
NSArray* detailedErrors = [[error userInfo] objectForKey:NSDetailedErrorsKey]; | |
if(detailedErrors != nil && [detailedErrors count] > 0) { | |
for(NSError* detailedError in detailedErrors) { | |
NSLog(@" DetailedError: %@", [detailedError userInfo]); | |
} | |
} | |
else { |
cellForRowAtIndexPath:(NSIndexPath *)indexPath { | |
for (int y=0; y<[selectedMonsters count];y++) { | |
if [[selectedMonsters objectAtIndex:y] isKindOfTemplate:[monsters objectAtIndexPath:indexPath]] { | |
cell.detailLabel.text = [monster quantity]; | |
} | |
else { | |
cell.detailLabel.text = ""; | |
} | |
} | |
} |
wrapText = (elementID, openTag, closeTag) -> | |
textArea = $("##{elementID}") | |
len = textArea.val().length | |
start = textArea[0].selectionStart() | |
end = textArea[0].selectionEnd() | |
selectedText = textArea.val().substring(start, end) | |
replacement = "#{openTag}#{selectedText}#{closeTag}" | |
textArea.val(textArea.val().substring(0, start) + replacement + textArea.val().substring(end, len)) | |
#example click function |
class Post | |
has_one :avatar | |
end | |
class Avatar | |
belongs_to :post | |
has_one :image | |
delegate :image, :to => :post | |
end |
valid BBCOde Document
Hello World # => rule text
[b]I'd like to teach the world to dance[/b] # => rule expression
Also Valid
[b]Hello World[/b] # rule expression
class Combinations | |
attr_accessor :number_of_variables | |
def initialize(number_of_variables=2) | |
@number_of_variables = number_of_variables | |
end | |
def print_combinations | |
combinations.each do |row| | |
row.each_with_index do |v, i| |
unless self.column_names.include? "new_name" | |
alias_attribute :new_name, :old_name | |
end |
StripfighterEmber.ApplicationController = Ember.Controller.extend | |
signOut: -> | |
StripfighterEmber.Auth.signOut() | |
StripfighterEmber.Auth.destroySession() |
It's important to make sure your server-side app is secure when using a client-side application like Ember, since any user can alter your javascript at runtime to make it do whatever you want. Therefore you want to make sure you still use server-side validations to make sure that your persistant records are valid.
However, Ember doesn't include any built-in way of displaying these errors on a form like you might be used to coming from a Rails world. This is how I do it.
Let's take this login form as an example (using twitter bootstrap css):
<form class="form-horizontal" {{action sendRegistration on="submit"}}>
<div class="control-group">
<label class="control-label" for="email">Email</label>