现在在我的POST路线中,我有这个:
post '/states' do
if logged_in? && params[:state_name] != ""
@state = State.find_or_create_by(:state_name => params[:state_name])
if @state.users.exists?
"You have already added this state."
else
@state.users << current_user
redirect "/states"
end
如果用户两次添加相同状态,他们将收到错误消息,并且不会向数据库添加重复项。很好,但是当NEW用户添加相同的状态时,他们会收到相同的错误消息。如何检查记录是否仅针对current_user存在?如果不存在,我希望将current_user添加到@ states.users。
我尝试了很多不同的方法,但似乎无法使其正常工作。
答案 0 :(得分:0)
您想要的是...
if @state.users.include? current_user
"You have already added this state."
else