Rails控制器启动其他控制器创建操作

时间:2015-11-19 19:11:18

标签: ruby-on-rails ruby-on-rails-4 controller associations

我需要为用户在数据库中创建的每个操作创建新的Footprint。如何在其他控制器上启动Footprint.new()并同时给出自动声明。

例如,当用户删除entity时。

entity_controller操作delete会将"user"+ "{ @user.name }" + "deleted entity "{ @entity.name }"这样的陈述传递给footprint.description

此外,它应该将当前用户id传递给footprint.user_id

不知道怎么做!

2 个答案:

答案 0 :(得分:0)

我不清楚你的问题,但我觉得你想要删除entity,然后想把删除的entity名称传递给另一个action,这在某些其他controller

def delete
  entity = Entity.find(params[:id]
  entity_name = entity.name
  entity.destroy!
  footprint_path(entity_name)
end
path helpers中定义resources后,您可以使用routes.rb,在这种情况下,resource "footprint"

<强>更新 要跟踪用户的活动,您可以使用paper_trailUserstamping

答案 1 :(得分:0)

我猜您需要在您的应用上提供用户活动Feed。您可以使用Public Activity gem来实现此功能。关于宝石,还有一个很好的Railscast