X
Identifiant Mot de passe
  Admin Blog Accueil Blog Créér un blog Mail Actualités ToutApprendre Soutien Scolaire Shopping Mag des Voyages Recherche Web
OK
Blog sur Ruby On Rails
mercredi 17 décembre 2008, a 14:44
Problème de routage
 

Après la création d'un crontrolleur, pour éviter d'avoir l'erreur :
No route matches ”/moncontrolleur/monaction” with {:method=>:get}

il faut ajouter la ligne suivante à la fin de routes.rb
map.route '/:controller/:action'

Une autre solution consiste à ajouter pour chaque controlleur la ligne :
map.resources :moncontrolleurs

mercredi 17 décembre 2008, a 12:55
Créer un reseau social simple avec acts_as_network avec rails
 

Installation du plugin :
Sous netbeans : ajouter le repo :
http://actsasnetwork.rubyforge.org/svn/plugins/acts_as_network/

en mode console :
sudo apt-get install git git-core (pour linux)
script/plugin install git://github.com/sjlombardo/acts_as_network.git

générer la doc :
rake doc:plugins

Version simple

Création d'une table des users
script/generate model user


class CreateUsers < ActiveRecord::Migration
  def self.up
    create_table :users do |t|
      t.string   :email
      t.string   :hashed_password
      t.string   :salt
      t.datetime :dateLastLogin
      t.timestamps
    end
  end

  def self.down
    drop_table :users
  end
end


script/generate model friend

class CreateFriends < ActiveRecord::Migration
  def self.up
    create_table :friends, {:id => false} do |t|
      t.column :user_id, :integer, :null => false
      t.column :user_id_target, :integer, :null => false      # target of the relationship
      t.timestamps
    end
  end

  def self.down
    drop_table :friends
  end
end


-> effectuer la migration

Modification des models

class User < ActiveRecord::Base
  acts_as_network :friends, :join_table => :friends
end


Controleur

  def test_acts_as_network
    jane = User.create(:email => 'Jane')
    jack = User.create(:email => 'Jack')

    jane.friends_out << jack                  # Jane adds Jack as a friend
    puts jane.friends.include?(jack)               # true Jack is Janes friend
    puts jack.friends.include?(jane)               # true Jane is also Jack's friend!
  end



Version avec invitations :


Création d'une table des users
script/generate model user


class CreateUsers < ActiveRecord::Migration
  def self.up
    create_table :users do |t|
      t.string   :email
      t.string   :hashed_password
      t.string   :salt
      t.datetime :dateLastLogin
      t.timestamps
    end
  end

  def self.down
    drop_table :users
  end
end


script/generate model invite

class CreateInvites < ActiveRecord::Migration
  def self.up
    create_table :invites do |t|
      t.column :user_id, :integer, :null => false           # source of the relationship
      t.column :user_id_target, :integer, :null => false    # target of the relationship
      t.column :code, :string                                 # random invitation code
      t.column :message, :text                                # invitation message
      t.column :is_accepted, :boolean
      t.column :accepted_at, :timestamp                       # when did they accept?
      t.timestamps
    end
  end

  def self.down
    drop_table :invites
  end
end



Modification des models

class User < ActiveRecord::Base
  acts_as_network :friends, :through => :invites, :conditions => "is_accepted = 1"
end

class Invite < ActiveRecord::Base
  belongs_to :user
  belongs_to :user_target, :class_name => 'User', :foreign_key => 'user_id_target'        # the target of the friend relationship
  validates_presence_of :user, :user_target
end


Controleur :

  def test_acts_as_network
    jane = User.create(:email => 'Jane')
    jack = User.create(:email => 'Jack')

    invite = Invite.create(:user => jane, :user_target => jack, :message => "let's be friends!")

    puts jane.friends.include?(jack)
    puts jack.friends.include?(jane)

    invite.is_accepted = true  # Now Jack accepts the invite
    invite.accepted_at = Time.now
    invite.save and jane.reload and jack.reload

    puts jane.friends.include?(jack)
    puts jack.friends.include?(jane)


  end


vendredi 12 décembre 2008, a 23:19
Ruby chaine , codes ascii
 

Convertir un caractère en code ascii :
puts ?a
puts ?H

Convertir un code ascii en caractère :
puts 65.chr

mardi 09 décembre 2008, a 15:39
Créer un champ virtuel
 

Pour créer un champ virtuel dans un controler, on utilise attr_accessor :

class Game < ActiveRecord::Base
 attr_accessor :bloque
end


Ce champ ne sera pas stocké en BDD mais sera accessible par l'instance de l'objet :
@game = Game.find 1
@game.bloque = "X"
puts @game.bloque

On peut aussi définir des méthodes :
class Game < ActiveRecord::Base
 attr_accessor :bloque
 def getInfo
   "#{id} / #{bloque}"
 end
end
 

@game = Game.find 1
@game.bloque = "X"
puts @game.getInfo


...

lundi 08 décembre 2008, a 11:25
Scriptaculous Slider pour Rails
 

Comment utiliser le Slider de scriptaculous avec rails.

Il existe un plugin : scriptaculous_slider mais il ne fonctionne plus avec les versions récentes de rails mais on peut quand même s'en inspirer.

On récupère quand même le plugin :
./script/plugin install scriptaculous_slider

Il faut modifier Vendor/plugins/scriptaculous_slider/init.rb :
require 'helpers/slider_helper'
ActionView::Helpers::AssetTagHelper::register_javascript_include_default 'slider'
ActionView::Base.send :include, ActionView::Helpers::SliderHelper



Présentation
Bienvenue sur mon blog sur lequel vous trouverez des articles concernant le magnifique framework RoR Ruby on Rails

Envoyer un mail à l'auteur
publicité
commentaire(s)
Bienvenue Paltock (17/12/2008 13:17)

Le 1er Annuaire de B...

Bienvenue olivier (09/12/2008 15:56)

BONJOUR VOUS AVEZ...

Selectionner un enregistrement au hazard Jasperiel (16/10/2008 11:09)

Et bien... en lisant...

Héberger une appli Rails titi53 (14/10/2008 12:58)

Et ovh ??? Quelqu...

Selectionner un enregistrement au hazard manusvs650 (10/10/2008 15:16)

Comment peut-on véri...

Newsletter

Pour vous inscrire à la newsletter de ce blog renseignez votre adresse mail :


mes catégories
Rails (9)
rails (7)
developpement (5)
ruby (4)
ruby on rails (4)
Ruby (3)
administration (2)
javascript (2)
IDE (1)
mongrel (1)
UML (1)
plugin (1)
plugins (1)
Articles précédents
Liste des articles
calendrier
«décembre 2008»
LunMarMerJeuVenSamDim
01 02 03 04 05 06 07
08 09 10 11 12 13 14
15 16 17 18 19 20 21
22 23 24 25 26 27 28
29 30 31
archives
2009-11 (2)
2009-01 (3)
2008-12 (5)
2008-11 (3)
2008-10 (15)
thèmes
rails
Mes blogs Mongenie préférés
Jeu de mots : Dingbats
Mes autres blogs préférés
Jeux.domozone.net
Blog d'un développeur RoR
Blog sur la veille et le marketing.
Google Android Blog
D'autres blogs sur monGenie
Flash Blog
Le blog de Blaise
UNDESSINJOUR
Liberté Egalité Fraternité
PAULE et MICK
Best Of
Rails + UML + StarUML
C'est quoi votre environnement préféré pour développer ?

Visites depuis

Le début du mois : 17

Le mois dernier : 597

L'ouverture du blog : 2653


** ** © Learnorama 2006 - conditions générales - développé par Learnorama et Kernix - Contact - Nouveautés blog