san 1981 | 16 May 17:06

[RailsFr] relation 1-N - le champ _id ne se sauve pas?


Hello,

en tant que débutant rails, j'ai créé 2 bases de données avec une
relation 1-N, avec une table "tasks" et une table "categories", j'ai
fait la relation en ajoutant dans task.rb "belongs_to :category" et dans
category.rb "has_many :tasks"; j'ai donc naturellement un champ
"category_id qui m'a permis d'adapter le formulaire "new" de tasks afin
de pouvoir directement choisir une catégorie quand je crée une tâche. La
création de la tâche se passe bien mais la catégorie ne s'enregistre
pas?? Quand je regarde dans la DB, le champ category_id est bien présent
mais nul...

Quelqu'un aurait-il une idée de mon erreur?

merci,
--

-- 
Posted via http://www.ruby-forum.com/.

--~--~---------~--~----~------------~-------~--~----~
Vous avez reçu ce message, car vous êtes abonné au groupe "Railsfrance" de Google Groups.
Pour transmettre des messages à ce groupe, envoyez un e-mail à l'adresse railsfrance@...
Pour résilier votre abonnement envoyez un e-mail à l'adresse railsfrance-unsubscribe@...
-~----------~----~----~----~------~----~------~--~---

Michel Belleville | 16 May 17:24
Picon

[RailsFr] Re: relation 1-N - le champ _id ne se sauve pas?

Montre voir le code du modèle et du contrôleur ?...

--~--~---------~--~----~------------~-------~--~----~
Vous avez reçu ce message, car vous êtes abonné au groupe "Railsfrance" de Google Groups.
Pour transmettre des messages à ce groupe, envoyez un e-mail à l'adresse railsfrance <at> googlegroups.com
Pour résilier votre abonnement envoyez un e-mail à l'adresse railsfrance-unsubscribe <at> googlegroups.com
-~----------~----~----~----~------~----~------~--~---

san 1981 | 16 May 18:46

[RailsFr] Re: relation 1-N - le champ _id ne se sauve pas?


Michel Belleville wrote:
> Montre voir le code du modèle et du contrôleur ?...

Voici mon code:

Les controllers:

Controller categories_controller.rb (placé dans un dossier admin)
class Admin::CategoriesController < Admin::AdminController

  def index
    @categories= Category.find(:all)
    @tasks = Task.find(:all)

    respond_to do |format|
      format.html # index.html.erb
      format.xml  { render :xml => @categories}
    end
  end

Controller tasks_controller.rb (dans dossier admin)
class Admin::TasksController < Admin::AdminController

  def index
    @tasks = Task.find(:all)
    @categories = Category.find(:all)
    respond_to do |format|
      format.html # index.html.erb
      format.xml  { render :xml => @tasks}
    end
  end

LES MODELES

Modele task.rb
class Task< ActiveRecord::Base
belongs_to :category
end

Modele Category.rb
class Category< ActiveRecord::Base
  has_many :tasks
end

Vue "new" de task:
<%= error_messages_for :task%>

<% form_for([:admin,@task]) do |f| %>

<p><b>category</b><br/>
<%= 
select('task','category_id',@categories.collect{|p|[p.title,p.id]},{:include_blank 
=> true})%>

</p>

  <p>
    <b>Subtitle</b><br />
    <%= f.text_area :subtitle %>
  </p>

   <p>
    <%= f.submit "Create" %>
  </p>
<% end %>

--

-- 
Posted via http://www.ruby-forum.com/.

--~--~---------~--~----~------------~-------~--~----~
Vous avez reçu ce message, car vous êtes abonné au groupe "Railsfrance" de Google Groups.
Pour transmettre des messages à ce groupe, envoyez un e-mail à l'adresse railsfrance@...
Pour résilier votre abonnement envoyez un e-mail à l'adresse railsfrance-unsubscribe@...
-~----------~----~----~----~------~----~------~--~---

Thomas GALIBERT | 16 May 18:48
Picon

[RailsFr] Re: relation 1-N - le champ _id ne se sauve pas?


tu as simplement oublié le "f" devant le select de ton formulaire.

Le 16 mai 08 à 18:46, san 1981 a écrit :

>
> Michel Belleville wrote:
>> Montre voir le code du modèle et du contrôleur ?...
>
> Voici mon code:
>
> Les controllers:
>
> Controller categories_controller.rb (placé dans un dossier admin)
> class Admin::CategoriesController < Admin::AdminController
>
>  def index
>    @categories= Category.find(:all)
>    @tasks = Task.find(:all)
>
>    respond_to do |format|
>      format.html # index.html.erb
>      format.xml  { render :xml => @categories}
>    end
>  end
>
> Controller tasks_controller.rb (dans dossier admin)
> class Admin::TasksController < Admin::AdminController
>
>  def index
>    @tasks = Task.find(:all)
>    @categories = Category.find(:all)
>    respond_to do |format|
>      format.html # index.html.erb
>      format.xml  { render :xml => @tasks}
>    end
>  end
>
> LES MODELES
>
> Modele task.rb
> class Task< ActiveRecord::Base
> belongs_to :category
> end
>
> Modele Category.rb
> class Category< ActiveRecord::Base
>  has_many :tasks
> end
>
>
> Vue "new" de task:
> <%= error_messages_for :task%>
>
> <% form_for([:admin,@task]) do |f| %>
>
>
> <p><b>category</b><br/>
> <%=
> select('task','category_id',@categories.collect{|p|[p.title,p.id]}, 
> {:include_blank
> => true})%>
>
> </p>
>
>  <p>
>    <b>Subtitle</b><br />
>    <%= f.text_area :subtitle %>
>  </p>
>
>   <p>
>    <%= f.submit "Create" %>
>  </p>
> <% end %>
>
>
> -- 
> Posted via http://www.ruby-forum.com/.
>
> >

--~--~---------~--~----~------------~-------~--~----~
Vous avez reçu ce message, car vous êtes abonné au groupe "Railsfrance" de Google Groups.
Pour transmettre des messages à ce groupe, envoyez un e-mail à l'adresse railsfrance@...
Pour résilier votre abonnement envoyez un e-mail à l'adresse railsfrance-unsubscribe@...
-~----------~----~----~----~------~----~------~--~---

Picon

[RailsFr] Re: relation 1-N - le champ _id ne se sauve pas?


Je ne crois pas que ce soit ça car tu as mis 'task' comme premier  
argument.
Le problème se situe peut-être dans l'action new ou create...

Peux-tu les envoyer aussi?

On 16 May 2008, at 18:48, Thomas GALIBERT wrote:

>
> tu as simplement oublié le "f" devant le select de ton formulaire.
>
> Le 16 mai 08 à 18:46, san 1981 a écrit :
>
>>
>> Michel Belleville wrote:
>>> Montre voir le code du modèle et du contrôleur ?...
>>
>> Voici mon code:
>>
>> Les controllers:
>>
>> Controller categories_controller.rb (placé dans un dossier admin)
>> class Admin::CategoriesController < Admin::AdminController
>>
>> def index
>>   @categories= Category.find(:all)
>>   @tasks = Task.find(:all)
>>
>>   respond_to do |format|
>>     format.html # index.html.erb
>>     format.xml  { render :xml => @categories}
>>   end
>> end
>>
>> Controller tasks_controller.rb (dans dossier admin)
>> class Admin::TasksController < Admin::AdminController
>>
>> def index
>>   @tasks = Task.find(:all)
>>   @categories = Category.find(:all)
>>   respond_to do |format|
>>     format.html # index.html.erb
>>     format.xml  { render :xml => @tasks}
>>   end
>> end
>>
>> LES MODELES
>>
>> Modele task.rb
>> class Task< ActiveRecord::Base
>> belongs_to :category
>> end
>>
>> Modele Category.rb
>> class Category< ActiveRecord::Base
>> has_many :tasks
>> end
>>
>>
>> Vue "new" de task:
>> <%= error_messages_for :task%>
>>
>> <% form_for([:admin,@task]) do |f| %>
>>
>>
>> <p><b>category</b><br/>
>> <%=
>> select('task','category_id',@categories.collect{|p|[p.title,p.id]},
>> {:include_blank
>> => true})%>
>>
>> </p>
>>
>> <p>
>>   <b>Subtitle</b><br />
>>   <%= f.text_area :subtitle %>
>> </p>
>>
>>  <p>
>>   <%= f.submit "Create" %>
>> </p>
>> <% end %>
>>
>>
>> -- 
>> Posted via http://www.ruby-forum.com/.
>>
>>>
>
>
> >

--
Jean-Baptiste Escoyez
Belighted.com | Web 2.0 Consulting & Training
Email : jbe@... | Phone: +32 486 377593

--~--~---------~--~----~------------~-------~--~----~
Vous avez reçu ce message, car vous êtes abonné au groupe "Railsfrance" de Google Groups.
Pour transmettre des messages à ce groupe, envoyez un e-mail à l'adresse railsfrance@...
Pour résilier votre abonnement envoyez un e-mail à l'adresse railsfrance-unsubscribe@...
-~----------~----~----~----~------~----~------~--~---

san 1981 | 16 May 21:09

[RailsFr] Re: relation 1-N - le champ _id ne se sauve pas?


Jean-Baptiste Escoyez wrote:
> Je ne crois pas que ce soit �a car tu as mis 'task' comme premier
> argument.
> Le probl�me se situe peut-�tre dans l'action new ou create...
> 
> Peux-tu les envoyer aussi?
> 
Dans l'action create, je n'ai rien modifié,
voici l'action new de tasks

  def new
    @task = Task.new
    @categories = category.find(:all)

    respond_to do |format|
      format.html # new.html.erb
      format.xml  { render :xml => @task}
    end
  end

J'ai essayé en ajoutant le "f." mais j'obtiens des messages d'erreur?
--

-- 
Posted via http://www.ruby-forum.com/.

--~--~---------~--~----~------------~-------~--~----~
Vous avez reçu ce message, car vous êtes abonné au groupe "Railsfrance" de Google Groups.
Pour transmettre des messages à ce groupe, envoyez un e-mail à l'adresse railsfrance@...
Pour résilier votre abonnement envoyez un e-mail à l'adresse railsfrance-unsubscribe@...
-~----------~----~----~----~------~----~------~--~---

Picon

[RailsFr] Re: relation 1-N - le champ _id ne se sauve pas?


Ca ne résoudra probablement pas ton problème mais si tu ajoute f, tu  
dois supprimer le premier argument du select : "task".

On 16 May 2008, at 21:09, san 1981 wrote:

>
> Jean-Baptiste Escoyez wrote:
>> Je ne crois pas que ce soit �a car tu as mis 'task' comme premier
>> argument.
>> Le probl�me se situe peut-�tre dans l'action new ou create...
>>
>> Peux-tu les envoyer aussi?
>>
> Dans l'action create, je n'ai rien modifié,
> voici l'action new de tasks
>
>  def new
>    @task = Task.new
>    @categories = category.find(:all)
>
>    respond_to do |format|
>      format.html # new.html.erb
>      format.xml  { render :xml => @task}
>    end
>  end
>
> J'ai essayé en ajoutant le "f." mais j'obtiens des messages d'erreur?
> -- 
> Posted via http://www.ruby-forum.com/.
>
> >

--
Jean-Baptiste Escoyez
Belighted.com | Web 2.0 Consulting & Training
Email : jbe@... | Phone: +32 486 377593

--~--~---------~--~----~------------~-------~--~----~
Vous avez reçu ce message, car vous êtes abonné au groupe "Railsfrance" de Google Groups.
Pour transmettre des messages à ce groupe, envoyez un e-mail à l'adresse railsfrance@...
Pour résilier votre abonnement envoyez un e-mail à l'adresse railsfrance-unsubscribe@...
-~----------~----~----~----~------~----~------~--~---

san 1981 | 16 May 21:24

[RailsFr] Re: relation 1-N - le champ _id ne se sauve pas?


Jean-Baptiste Escoyez wrote:
> Ca ne résoudra probablement pas ton problème mais si tu ajoute f, tu
> dois supprimer le premier argument du select : "task".
> 
Merci pour l'aide,

Effectivement je n'ai plus de messages d'erreur mais la catégorie ne 
s'enregistre toujours pas...
--

-- 
Posted via http://www.ruby-forum.com/.

--~--~---------~--~----~------------~-------~--~----~
Vous avez reçu ce message, car vous êtes abonné au groupe "Railsfrance" de Google Groups.
Pour transmettre des messages à ce groupe, envoyez un e-mail à l'adresse railsfrance@...
Pour résilier votre abonnement envoyez un e-mail à l'adresse railsfrance-unsubscribe@...
-~----------~----~----~----~------~----~------~--~---

mourad hammiche | 16 May 22:33
Picon

[RailsFr] Re: relation 1-N - le champ _id ne se sauve pas?


On 16 mai, 18:46, san 1981 <list-incom...@...> wrote:
> Michel Belleville wrote:
> > Montre voir le code du modèle et du contrôleur ?...
>
> Voici mon code:
>
> Les controllers:
>
> Controller categories_controller.rb (placé dans un dossier admin)
> class Admin::CategoriesController < Admin::AdminController
...
>   end

ça n'a peut-etre rien a voir avec ton problème, mais mettre un
controlleur dans un namespace est une très mauvaise idée. A ma
connaissance rails ne gère pas cela très bien.

Si tu le fait juste pour obtenir une url de la forme /admin/
categories/
il faut mieux utilisé un routage adequate

map.namespace :admin do |admin|
  admin.resources :categories
end

--~--~---------~--~----~------------~-------~--~----~
Vous avez reçu ce message, car vous êtes abonné au groupe "Railsfrance" de Google Groups.
Pour transmettre des messages à ce groupe, envoyez un e-mail à l'adresse railsfrance@...
Pour résilier votre abonnement envoyez un e-mail à l'adresse railsfrance-unsubscribe@...
-~----------~----~----~----~------~----~------~--~---


Gmane