def destroy
@project = Relationship.find(params[:id]).followed
current_user.unfollow!(@project)
respond_to do |format|
format.html { params[:page]? (redirect_to "#{params[:page]}_path") : (redirect_to @project ) }
format.js
end
end
在上面的代码中,如果我传递params [:page] =“dashboard”,那么它应该重定向到dashboard_path但当前它重定向到localhost:3000dashboard_path
我知道问题出在哪里(“#{params [:page]} _ path”返回一个字符串而不是一个路径)但是我想要解决方案bcoz我不知道如何解决这个问题。
非常感谢。
答案 0 :(得分:1)
我认为这会起作用
redirect_to send("#{params[:page]}_path")
或完整版
format.html { params[:page] ? redirect_to(send("#{params[:page]}_path")) : redirect_to(@project) }
答案 1 :(得分:1)
在我看来,这种对参数的依赖是不必要的。
是您编写控制器的人,也是您在上一页中定义此类查询字符串的人。
那么,为什么不直接redirect_to dashboard_path
如果这是你所需要的所有逻辑?