Ruby on rails Rails可选注册-保存前更改参数
我正在开发一个带有可选注册的应用程序。我想让用户,无论有没有帐户,都能够添加链接。如果用户在创建链接时已登录,我如何将用户的Ruby on rails Rails可选注册-保存前更改参数,ruby-on-rails,ruby,ruby-on-rails-3,ruby-on-rails-3.1,Ruby On Rails,Ruby,Ruby On Rails 3,Ruby On Rails 3.1,我正在开发一个带有可选注册的应用程序。我想让用户,无论有没有帐户,都能够添加链接。如果用户在创建链接时已登录,我如何将用户的会话[user\u id]分配给链接的用户id列 当前代码:user\u id在任何情况下都保持为零 def create @link = Link.new(params[:link]) if @link.save flash[:notice] = "The link was successfully added" redire
会话[user\u id]
分配给链接的用户id
列
当前代码:user\u id
在任何情况下都保持为零
def create
@link = Link.new(params[:link])
if @link.save
flash[:notice] = "The link was successfully added"
redirect_to :action => :hot
else
redirect_to :action => :new
end
end
我在想象这样的事情
def create
if session[:user_id]
#@link equals new link params with user_id = session[:user_id]
else
@link = Link.new(params[:link])
end
if @link.save
flash[:notice] = "The link was successfully added"
redirect_to :action => :hot
else
redirect_to :action => :new
end
end
即使用户未登录,链接也将与params[:link]一起保存
当验证失败时,请小心使用渲染,而不是重定向到(请查看是否需要)
def create
@link = Link.new params[:link]
@link.user_id = session[:user_id] if session[:user_id]
if @link.save
redirect_to { action: 'hot' }, notice: 'The link was successfully added'
else
render :new
end
end