如何为多个城市实施模型或文件?

时间:2016-01-25 23:27:26

标签: ruby-on-rails ruby database inheritance

我想为多个城市制作网站。 例如:

在纽约登录的员工使用他们的ID登录,该ID应该连接到

ny db.(NY : xxx.com/ny <- ny data only.)

使用其ID进行TX登录的员工应该连接到

tx db.(NY : xxx.com/tx <- tx data only.)

每个州都有相同的数据库结构。 我正在接近Db的继承。这是正确的方法吗?

1 个答案:

答案 0 :(得分:0)

听起来像租户可能是最佳选择。

基本上你会在数据库的顶层添加状态*,然后你的所有其他模型都会belong_to :state处于某个适当的级别。然后,在控制器和视图中,确保您的范围包括where(state_id: current_user.state_id)

您还可以通过在config/routes.rb中为它们添加冒号来指定路线中的参数,例如

get '/:state/login' => 'logins#new'

然后导航到xxx.com/ny/login会将params[:state]设置为控制器中的'ny'

*我认为你的意思是州而不是城市,因为你提到了纽约(NY)和德克萨斯(TX)。