2010-02-07 3 views
0

Bonjour je suis un Rails Noob donc je m'excuse si c'est élémentaire. Je crée une application de type Twitter et je travaille sur un bouton de réponse qui placera automatiquement une variable (le nom d'utilisateur de l'auteur du tweet) dans le formulaire de tweet en haut de la page. Voilà ce que j'ai maintenant:Comment créer un bouton qui entre une chaîne dans un formulaire en utilisant Ruby on Rails?

def reply 
    @tweet = Tweet.find(params[:id]) 
    @message = User.find_by_user_id(params[@tweet]) 
    end 

Je sais que je vais devoir changer mes itinéraires mais c'est ce que je suis raccroché au nez.

Toute aide serait grandement appréciée, merci. Je suis, encore une fois, un noob.

Répondre

0

Votre première ligne de code trouve l'objet Tweet. Ensuite, vous mettez cet objet tweet dans params hash comme une clé (c'est l'erreur). Et AFAIK - vous voudriez regarder dans le javascript qui définit la valeur pour le champ caché.

+0

Merci pour votre réponse, comment pourrais-je l'installer en Java? – user250181

+0

Java! = Javascript. Essayez googling pour "manipulation de formulaire avec javascript". – Eimantas

0

Cela devrait fonctionner pour vous:

def reply 
    @tweet = Tweet.find(params[:id]) 
    @message = @tweet.user.username 
end 

Il suppose que le modèle Tweet a une association appelée user et que votre modèle User a un attribut username:

class Tweet < ActiveRecord::Base 
    belongs_to :user 
    ... 
end 

class User < ActiveRecord::Base 
    has_many :tweets 
    ... 
end 

Et ce serait probablement correspondre le comportement actuel de twitter un peu mieux:

def reply 
    @tweet = Tweet.find(params[:id]) 
    @message = "@" + @tweet.user.username + " " 
end 
+0

Hey Tomas, merci pour votre réponse. Je reçois une réponse "Action inconnue" lorsque j'utilise ce code. "Aucune action n'a répondu à 160. Actions: create, current_user, current_user_flit ?, détruire, logged_in ?, login_required, redirect_to_target_or_default, et afficher" Des réflexions sur la façon de corriger? Merci. – user250181

+0

Quelle URL a causé cela? Et comment votre fichier routes.rb ressemble-t-il? –

Questions connexes