在控制器中传递id Rails

时间:2017-10-24 06:52:23

标签: ruby-on-rails

我在控制器中传递id时遇到问题。我有接受和拒绝请求的功能。

 @friend = Friend.find(params[:id])
 @friend.update(value_params)

更新时会自动更新用户ID创建值

的ID

我希望能够做到这一点但是这次点击接受或拒绝我希望得到创建该值的人的id并将其作为:for_id =>插入请求的参数传递给更新好友表

所以创建请求的人将是唯一一个看到请求被接受或拒绝的人

我尝试使用它,但它不会插入数据库

@friend = Friend.find(params[:id])
@req = Request.new(:for_id => @friend)

没有错误,它只是在insert子句或语句

中不包含for_id

1 个答案:

答案 0 :(得分:1)

  

它只是在insert子句或语句

中不包含 for_id

请在server log

中加入此声明

还向我们解释了您要完成的任务,因为您没有保存@req因此我没有真正看到服务器应该执行某些insert语句的原因。

如果你想要一个插入语句

  1. 如果friend has_many requests那么你应该这样做:

    @friend.requests << @req 
    @friend.update(value_params)
    
  2. 否则将@req保存在db do:

    @req.save
    
  3. 这可能是错的,但也有机会向我们清楚地解释你想要完成的事情