我有一个流控制器,我正在使用Devise。用户可以创建流(或者流将具有数据库中用户的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,否则不是)。
我该怎么做?
谢谢!
答案 0 :(得分:0)
Devise有一个user_signed_in?方法。所以你可以这样做:
if user_signed_in?
@stream = current_user.streams.build(params[:name])
else
@stream = Stream.new(params[:name])
end