如果我输入:
SELECT name FROM table WHERE name NOT IN ('Test1','Test2','Test3');
Run Code Online (Sandbox Code Playgroud)
我可以从表中获取不在列表中的条目.我想做相反的事情:从列表中获取不在表中的值.例如,如果table有一个名为name的列,其值为'Test1'和'Test3',我想将其与('Test1','Test2','Test3')进行比较并返回Test2.或者作为另一个示例,如果表为空,则返回列表中的所有内容:Test1,Test2和Test3.
有没有办法在没有创建包含列表中所有值的新表的情况下执行此操作?
我有一个多租户Rails 4应用程序,它使用带有PostgreSQL架构的子域来"租用"应用程序.我在Heroku和Cloudflare中设置了子域通配符"*"并加载了网站,但它仍然"认为"www是一个有效的子域.因此,通常有效的链接(在开发中工作)在生产中不起作用,因为www.mysite.com/accounts/new等与asdf.mysite.com/accounts/new相同.有什么方法可以让我的应用程序几乎忽略www作为子域?我仍然希望mysite.com重新定向到www.mysite.com,但是当它是www时,只是将子域设置为false?
为了使事情更具体一点,在我的application_controller中,我有一些代码可以执行以下操作.注意评论.在开发模式下,redirect_to root_url(subdomain:false)可以正常工作,但在生产中,它只是无限重定向并且不会加载.为了加载它,我只是渲染页面,但这样做永远不会将子域设置为false.
def load_schema
Apartment::Tenant.switch!('public')
return unless request.subdomain.present?
if current_account
Apartment::Tenant.switch!(current_account.subdomain)
else
redirect_to root_url(subdomain: false) # Works locally, but infinite re-direct in production
#render 'welcome/index' # - Renders the page in production, but nothing else works.
end
end
Run Code Online (Sandbox Code Playgroud)
基本上,一切都在开发模式中按预期工作,但在生产中,似乎有一些DNS问题需要解决,但我似乎无法弄清楚该怎么做.有什么想法吗?