你好我是一个Rails Noob,所以如果这是基本的,我道歉。我正在创建一个类似Twitter的应用程序并处理一个“回复”按钮,该按钮会自动将变量(推文作者的用户名)放入页面顶部的推文表单中。这就是我现在所拥有的:
def reply
@tweet = Tweet.find(params[:id])
@message = User.find_by_user_id(params[@tweet])
end
我知道我必须改变我的路线,但这就是我所挂断的。
非常感谢任何帮助,谢谢。我又是一个菜鸟。
答案 0 :(得分:0)
您的第一行代码找到了Tweet对象。然后你将这个tweet对象放入params hash作为密钥(这是错误)。和AFAIK - 你想要查看为隐藏字段设置值的javascript。
答案 1 :(得分:0)
这应该适合你:
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
这可能会更好地与twitter的当前行为相匹配:
def reply
@tweet = Tweet.find(params[:id])
@message = "@" + @tweet.user.username + " "
end