我创建了一个Rails应用程序和 我的“用户”表是这样的我应该让新表在Rails中存储用户的地址
create_table "users", force: :cascade do |t|
t.string "name"
t.string "email"
t.string "password_hash"
t.string "password_salt"
t.integer "country_id"
t.integer "state_id"
t.integer "pincode"
t.string "address"
t.string "phone_no"
t.float "latitude"
t.float "longitude"
其他表states , country , posts
关联性:
user has_many :posts
user belongs_to :state
我有一个"states"
表维护状态名称和其他东西。我有一个"posts"
表,其中每个用户可以有多个职位。
很明显,我更关注用户的位置属性,我也需要在呈现用户的帖子时经常访问这些属性。
那么,我应该将位置相关的属性分段到一个新表"addresses"
?
每个用户只有一个地址。
我觉得这一个正确的,但后来我需要执行冗长的链接从posts views
防爆访问这些属性。访问状态,
<% @state = State.find(Address.find(User.find(@post.user_id).address_id)).state_id).name%>
那么,我该怎么做片段用户或保持原样呢?
在此先感谢!
谢谢男人!我总是发现标准化在保持平衡方面有点混乱。您对解决这个难题有任何建议!我想我应该去寻找新的“地址”表。 – narush