vik*_*kke 3 ruby activerecord ruby-on-rails-3.2
我想区分搜索或由first_or_create创建.
record = MasterRecord.where(:name=>'test_data').firest_or_create
# and i want differentiate searched or created like this.
# but there is no created_record? method
if record.created_record?
render :status=>200, :json => record.to_json
else
render :status=>409, :json => record.to_json
end
Run Code Online (Sandbox Code Playgroud)
我该怎么做呢?
一种解决方法使用起来会first_or_initialize代替first_or_create,然后使用new_record?如下:
record = MasterRecord.where(:name=>'test_data').first_or_initialize
created_record = record.new_record?
record.save! if record.new_record?
if created_record
render :status=>200, :json => record.to_json
else
render :status=>409, :json => record.to_json
end
Run Code Online (Sandbox Code Playgroud)