这可以被干掉吗?

Dyl*_*arr 0 ruby syntax ruby-on-rails dry

我想知道是否有一个很好的方法来干这个.

if session[:working_post].nil?
  @post = Post.new
else
  @post = Post.new(session[:working_post])
  session[:working_post] = nil
end
Run Code Online (Sandbox Code Playgroud)

也许是这样的

@post = Post.new(||= session[:working_post])
Run Code Online (Sandbox Code Playgroud)

有什么相似的吗?

小智 5

这会有用吗?

@post = Post.new(session.delete(:working_post) || {})
Run Code Online (Sandbox Code Playgroud)

  • `Post.new(nil)`应该可以正常工作. (5认同)