![](/img/trans.png)
[英]Rails / Devise: Gracefully ask user to sign in on signed-out create
[英]Rails, Devise: If user signed in create with user id, else without
我有一个流控制器,正在使用Devise。 用户可以创建具有(而不是在db中具有该用户的ID的流)用户ID的流,也可以不具有(创建其宾客流的)流帐户的流。 目前,我有以下创建方法:
def create
@stream = current_user.streams.build(params[:name])
if @stream.valid?
@stream.save
redirect_to c_path(@stream.name)
flash[:notice] = "blabla"
else
redirect_to root_path
end
end
但这不适用于客人,因为我使用current_user。 现在,我的计划是创建一个if else(如果使用current_user登录,则不是)。
我该怎么做?
谢谢!
很简单,您可以使用user_signed_in?
帮手:
if user_signed_in?
@stream = current_user.streams.build(params[:name])
else
@stream = Stream.new(params[:name])
end
BTW确保在构建对象时传递有效的参数。
设计有一个user_signed_in吗? 方法。 因此,您可以这样做:
if user_signed_in?
@stream = current_user.streams.build(params[:name])
else
@stream = Stream.new(params[:name])
end
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.