Как создать кнопку, которая вводит строку в форму, используя Ruby on Rails? - PullRequest
0 голосов
/ 07 февраля 2010

Здравствуйте, я Rails Noob, поэтому я прошу прощения, если это элементарно. Я создаю приложение в стиле Twitter и работаю над кнопкой «Ответить», которая автоматически поместит переменную (имя пользователя автора твита) в форму твита вверху страницы. Вот что у меня сейчас:

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

Я знаю, что мне придется сменить маршрут, но это то, от чего я зависаю.

Любая помощь будет принята с благодарностью, спасибо. Я опять нуб.

Ответы [ 2 ]

0 голосов
/ 07 февраля 2010

Это должно работать для вас:

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

Предполагается, что модель Tweet имеет ассоциацию под названием user и что ваша модель User имеет атрибут username:

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

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

И это, вероятно, будет лучше соответствовать текущему поведению твиттера:

def reply
  @tweet = Tweet.find(params[:id])
  @message = "@" + @tweet.user.username + " "
end
0 голосов
/ 07 февраля 2010

Ваша первая строка кода находит объект Tweet. Затем вы помещаете этот твит-объект в хэш params в качестве ключа (это ошибка). И AFAIK - вы бы хотели посмотреть javascript, который устанавливает значение для скрытого поля.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...