¥¹¥Ý¥ó¥µ¡¼¥µ¥¤¥È

¾åµ­¤Î¹­¹ð¤Ï£±¥ö·î°Ê¾å¹¹¿·¤Î¤Ê¤¤¥Ö¥í¥°¤Ëɽ¼¨¤µ¤ì¤Æ¤¤¤Þ¤¹¡£¿·¤·¤¤µ­»ö¤ò½ñ¤¯»ö¤Ç¹­¹ð¤¬¾Ã¤»¤Þ¤¹¡£
  1. ¥¹¥Ý¥ó¥µ¡¼¹­¹ð

RubyAMF And Flash 8 Memo

RubyAMF¤Î¾ÜºÙÀßÄê¤Ë¤Ä¤¤¤Æ¤Î¥á¥â

RubyAmf¤òÍøÍѤ·¤¿Flash8¤Î¼ÂÁõÊýË¡¡£
º£¤Þ¤Ç²¿²ó¤¬Æüµ­¤Ë½ñ¤¤¤¿¤±¤É¡¢¤«¤Ê¤êŬÅö¤À¤Ã¤¿¤±¤É¡¢¤â¤¦¾¯¤·ºÙ¤«¤¯½ñ¤±¤¿¤é¤Ê¤ó¤Æ»×¤Ã¤¿¤ê¡£
RubyAMF¼«ÂΤξðÊ󤬾¯¤Ê¤¤¾å¤Ë¡¢¤½¤ì¤¬¤µ¤é¤ËFlash8¤È¤Ê¤ë¤ÈËØ¤É̵¤¤¡¦¡¦¡£
¤Á¤Ê¤ß¤ËRails¤Î¥Ð¡¼¥¸¥ç¥ó¤Ï2.1.2¤Ç¤¹¡£



¢£¡¡RubyAMF AND Flash8 ¼ÂÁõ¡¡Ìܼ¡


¤¶¤Ã¤¯¤ê¤È¼ÂÁõ¤Þ¤Ç¤Îή¤ì¤Ç¤¹¡£

­¡ ¡ÚRAILS¡Û¡¡RubyAMF¥¤¥ó¥¹¥È¡¼¥ë
­¢ ¡ÚRAILS¡Û¡¡rubyamf_config¤ÎÀßÄê
­£ ¡ÚRAILS¡Û¡¡Model¡¦Controller¤ÎºîÀ®
­¤ ¡ÚRAILS¡Û¡¡¥Ç¡¼¥¿¥Ù¡¼¥¹ºîÀ®
­¥ ¡ÚFlash¡Û¡¡RubyAMDϢư¡¡(find_allÊÔ)
­¦ ¡ÚFlash¡Û¡¡RubyAMDϢư¡¡(createÊÔ)



­¡ ¡ÚRAILS¡Û¡¡RubyAMF¥¤¥ó¥¹¥È¡¼¥ë¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡


rails¥Õ¥ì¡¼¥à¥ï¡¼¥¯¤òÀ¸À®¤·¤ÆRubyAMF¥×¥é¥°¥¤¥ó¤ò¥¤¥ó¥¹¥È¡¼¥ë¤·¤Þ¤¹¡£


[linux@]$ rails rubyamf
[linux@]$ cd rubyamf
[linux@]$ ./script/plugin install http://rubyamf.googlecode.com/svn/tags/current/rubyamf




­¢ ¡ÚRAILS¡Û¡¡rubyamf_config¤ÎÀßÄê¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡


config/rubyamf_config.rb¤ÎÀßÄê¤òÊѹ¹¤·¤Þ¤¹¡£

config/rubyamf_config.rb


require 'app/configuration'
module RubyAMF
  module Configuration
    ClassMappings.translate_case = true
    ClassMappings.assume_types = false
    ParameterMappings.scaffolding = true
  end
end




­£ ¡ÚRAILS¡Û¡¡Model¡¦Controller¤ÎºîÀ®¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡


Generate¥¹¥¯¥ê¥×¥È¤Ë¡Örubyamf_scaffold¡×¤¬Äɲ䵤ì¤ë¤Î¤Ç¡¢¼Â¹Ô¤·¤Þ¤¹¡£
Controller¡¦Model¶¦¤Ë°ì³ç¤ÇºîÀ®¤·¤Æ¤¯¤ì¤Þ¤¹¡£


[linux@]$ script/generate rubyamf_scaffold user name:string sex:integer



¤½¤Î¤¢¤È¤ËÀßÄê¥Õ¥¡¥¤¥ë¤Ë°ì¹ÔÄɲä·¤Þ¤¹¡£

config/rubyamf_config.rb


require 'app/configuration'
module RubyAMF
  module Configuration
    ClassMappings.translate_case = true
    ClassMappings.assume_types = false
    ParameterMappings.scaffolding = true
    ClassMappings.register(:actionscript => 'User', :ruby => 'User', :type => 'active_record')
  end
end



¤³¤ì¤ÇRubyOnRails¦¤ÎÀßÄê¤Ï´°Î»¤Ç¤¹¡£


­¤ ¡ÚRAILS¡Û¡¡¥Ç¡¼¥¿¥Ù¡¼¥¹ºîÀ®


¥Þ¥¤¥°¥ì¡¼¥È¥Õ¥¡¥¤¥ë¤òºîÀ®¤·¤Þ¤¹¡£



class CreateUsersTables < ActiveRecord::Migration

  def self.up
    options = "ENGINE=InnoDB DEFAULT CHARSET=utf8 COLLATE=utf8_bin"
    create_table "users", :force => true, :options => options do |t|
      t.string :name
      t.integer :sex
      t.timestamps
    end
  end

  def self.down
    drop_table "users" rescue nil
  end

end



³¤¤¤Æ¥Æ¥¹¥È¥Ç¡¼¥¿ÍѤ˥ե£¥¯¥¹¥Á¥ã¥Õ¥¡¥¤¥ë¤òÊÔ½¸¤·¤Þ¤¹¡£


tarou:
  name: "tarou"
  sex: 2

yamada:
  name: "yamada"
  sex: 1



¥Þ¥¤¥°¥ì¡¼¥È¡¦¥Õ¥£¥¯¥¹¥Á¥ã¡¡¥¹¥¯¥ê¥×¥È¼Â¹Ô


[linux@]$ rake db:migrate
[linux@]$ rake fixtures:load




­¥ ¡ÚFlash¡Û¡¡RubyAMDϢư¡¡(¡¡find_allÊÔ¡¡)¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡



import mx.remoting.*;
import mx.services.Log;
import mx.rpc.*;
import mx.data.binding.ObjectDumper;

// rubyamf¤Îurl
var rubyamf_url = "http://localhost:3000/rubyamf/gateway";

// ¥æ¡¼¥¶¡¼¼èÆÀÍÑ´Ø¿ô
function getUser() {
  var userService:Service = new Service(rubyamf_url, null, "users", null, null);
  var us:PendingCall = userService.find_all();
  us.responder = new RelayResponder(this, "getDataTrue", "getDataFault");
}

// ¼Â¹Ô·ë²Ì¤¬TRUE¤À¤Ã¤¿¾ì¹ç¤Î½èÍý
function getDataTrue(re:ResultEvent) {
  trace(ObjectDumper.toString(re.result));
}

// ¼Â¹Ô·ë²Ì¤¬FALSE¤À¤Ã¤¿¾ì¹ç¤Î½èÍý

function getDataFault(fe:FaultEvent) {
  trace("Error description from server: " + fe.fault.description);
}

getUser();



°Ê²¼¤Î¤è¤¦¤Ë·ë²Ì¤Ç¤Ç¤ì¤ÐÀ®¸ù¡£


[{id: 948504704,
    name: "Yamadai",
    sex: 0,
    createdAt: Thu Nov 13 17:33:53 GMT+0900 2008,
    updatedAt: Thu Nov 13 17:33:40 GMT+0900 2008},
{id: 948504704,
    name: "Yamadai",
    sex: 1,
    createdAt: Thu Nov 13 17:33:53 GMT+0900 2008,
    updatedAt: Thu Nov 13 17:33:40 GMT+0900 2008}
]




­¦ ¡ÚFlash¡Û¡¡RubyAMDϢư¡¡(¡¡createÊÔ¡¡)¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡


Rails¤Î¥â¥Ç¥ë¤ËÂбþ¤·¤¿¥¯¥é¥¹¤òºîÀ®¤¹¤ëɬÍפ¬¤¢¤ê¤Þ¤¹¡£
¤Ê¤Î¤Ç¡¢models¥Ç¥£¥ì¥¯¥È¥ê¤òºîÀ®¤·¤Æ¤½¤³¤Ëas¥Õ¥¡¥¤¥ë¤òºîÀ®¤·¤Æ¥¤¥ó¥Ý¡¼¥È¤¹¤ë»ö¤Ë¤·¤Þ¤¹¡£
models/User.as

¢­¤Ê´¶¤¸¤Ç¡¦¡¦¡£


class models.User {
  public var name:String;
  public var sex:Number;

  function User() {
  }
}



find_all¤Î¥³¡¼¥É¤«¤éÀÖ¤ÎÉôʬ¤òÄɲá¦Êѹ¹¤·¤Þ¤·¤¿¡£


import mx.remoting.*;
import mx.services.Log;
import mx.rpc.*;
import mx.data.binding.ObjectDumper;
import models.*;

// rubyamf¤Îurl
var rubyamf_url = "http://localhost:3000/rubyamf/gateway";

// ¥æ¡¼¥¶¡¼ºîÀ®ÍÑ´Ø¿ô
function createUser() {
  var user = new User;
  user.name = "Satou"l
  Object.registerClass('User',User);

  var userService:Service = new Service(rubyamf_url, null, "users", null, null);
  var us:PendingCall = userService.save(user);
  us.responder = new RelayResponder(this, "getDataTrue", "getDataFault");
}

// ¼Â¹Ô·ë²Ì¤¬TRUE¤À¤Ã¤¿¾ì¹ç¤Î½èÍý
function getDataTrue(re:ResultEvent) {
  trace(ObjectDumper.toString(re.result));
}

// ¼Â¹Ô·ë²Ì¤¬FALSE¤À¤Ã¤¿¾ì¹ç¤Î½èÍý

function getDataFault(fe:FaultEvent) {
  trace("Error description from server: " + fe.fault.description);
}

getUser();







¥Æ¡¼¥Þ:¤Þ¤¤¤é¤¤¤Õ(¡­¢Ï¡®*) - ¥¸¥ã¥ó¥ë:Æüµ­

  1. ¥·¥¹¥Æ¥à³«È¯
  2. TB(0)
  3. CM(0)
<<¥µ¥¯¥é¥¤¥ó¥¿¡¼¥Í¥Ã¥È(¶¦Í­¥µ¡¼¥Ð¡¼)¤ÇRAILS LIGHT | ¥Û¡¼¥à | Prel ¥á¡¼¥ë¡¡Ê¸»ú¥³¡¼¥ÉÊѹ¹ÊýË¡ MINE Encode¥â¥¸¥å¡¼¥ë>>

¥³¥á¥ó¥È

¥³¥á¥ó¥È¤ÎÅê¹Æ

´ÉÍý¼Ô¤Ë¤À¤±É½¼¨¤òµö²Ä¤¹¤ë

¥È¥é¥Ã¥¯¥Ð¥Ã¥¯

¥È¥é¥Ã¥¯¥Ð¥Ã¥¯URL¤Ï¤³¤Á¤é
http://adalberyo.blog116.fc2.com/tb.php/119-2ac9f4ee
¤³¤Îµ­»ö¤Ë¥È¥é¥Ã¥¯¥Ð¥Ã¥¯¤¹¤ë(FC2¥Ö¥í¥°¥æ¡¼¥¶¡¼)

FC2Ad

 FC2¥Ö¥í¥°