1

我在嵌套模型表单中同时创建位置和用户。我希望用户被带到刚刚创建的位置 ID 的位置显示页面。我怎样才能做到这一点?

我知道我可以通过将其放入应用程序控制器来获取位置索引

def after_sign_in_path_for(resource)
      locations_path # <- Path you want to redirect the user to.
    end

我试过了

def after_sign_in_path_for(resource)
      location_path(@location) # <- Path you want to redirect the user to.
    end

但它为 id 提供了 nil 值。有什么想法吗?

4

1 回答 1

4

你应该做的就是

def after_sign_in_path_for(resource)
  location_path(resource) # <- Path you want to redirect the user to.
end

但如果您resource很可能是用户,则更安全的是:

def after_sign_in_path_for(resource)
  if resource.class == User
    location_path(resource.location) 
  elsif resource.class == Location
    location_path(resource) 
  end
end

这将处理两种资源类型,并假定您UserLocation创建的资源类型相关联。

于 2013-01-06T05:44:24.457 回答