2010-06-27 15 views
0

J'ai 3 pages:Ruby On Rails: accéder à une variable d'une forme, sans l'enregistrer à la base de données

[Page 1] Index

[Page 2] Utilisateur Entrer une valeur sous une forme.

[Page 3] Effectuez un calcul sur la valeur entrée et affichez-le sur cette page.

Je me demande comment je fais ça? Je ne veux pas enregistrer les données dans une base de données.

Merci =)

* Ajout d'info 20.100.628 en fonction des commentaires. Je vous remercie! *

Pour PHP, je pourrais utiliser la fonction $ _GET et% _POST. Je ne suis pas sûr de savoir comment le faire sur ROR. [Page 1: index.html]

Montant en banque: taux d'intérêt (%):

[Page 2: interest_cal.php] En 10 ans, le montant total de votre banque serait _______

Répondre

2

bienvenue à stackoverflow. Ceci est un site Web de QA de programmation, donc ce serait bien de voir du code, pour voir plus clairement ce que vous voulez. Mais je pense que ce que vous voulez est un modèle sans tableau. Il y a deux bonnes screencasts par railscasts:

  1. Tableless Model (Rails 2)
  2. Active Model (Rails 3)
+0

Merci Jens. J'étudierai le screencast tout de suite. –

0

juste dans votre attribut déclarer modèle et l'utiliser.

attr_accessor :value 
+0

Merci Valodzka. Je vais essayer d'apprendre vos suggestions. –

0

si vous utilisez params[:field_name] dans Rails, ce qui est similaire à $_REQUEST['field_name'] en PHP (sauf dans params Rails ne comprend pas les cookies, comme _REQUEST $ ne)

+0

Merci John D –

0

Je ne veux pas sauver la données dans une base de données .

son simple ne crée aucun modèle. ou si vous devez créer un modèle. créer le modèle sans héritage de ActiveRecord :: Base

class UserModel 

mais pas

class UserModel < ActiveRecord::Base 

pour PHP, je pourrais utilisateur $ _GET et% _POST fonction .

utilisation params variable contrôleur

0

Essayez quelque chose comme ça

Page1 -> Index

Page2 ->

que vous avez un modèle appelé utilisateur qui n'est pas hérité de ActiveRecord, donc il ressemblera à ceci

class User 
    attr_accessor :my_value 
end 

et vous aurez un formulaire comme celui-

<% form_for(@user) do |f| %> 
    <p> 
    <%= f.text_field :my_value %> 
    </p> 
    <p> 
    <%= f.submit 'send value' %> 
    </p> 
<% end %> 

** désolé d'avoir dû supprimer certaines balises

et dans votre forme post action (dans le contrôleur), vous pouvez obtenir la valeur

params[:user][:my_value] 

espérons que cette aide

acclamations

sameera

+0

vous devriez formater votre code correctement la prochaine fois. Cela peut être fait en mettant en retrait chaque ligne de code de 4 espaces ou marquez le code et appuyez sur le bouton code de l'éditeur (celui avec les uns et les zéros dessus) – jigfox

+0

Merci sameera207 et Jens F. –

0

Si vous ne disposez pas d'un modèle, mais tout simplement une variable, je préfère utiliser form_tag au lieu de form_for

<%= form_tag :action => "your_page_3_action" $> 
    <%= text_field_tag :some_var %> 

Quelque chose comme ça. Et puis vous pourriez récupérer le: some_var à travers:

def your_page_3_action 
    params[:some_var] # that's your input valut 
+0

merci peter –

Questions connexes