【发布时间】:2011-08-02 14:46:39
【问题描述】:
这不是关于如何使用 Twitter 或 Facebook API 的问题,而是关于如何保持数据库同步的更简单的问题。我想要做的是创建一个新的链接帐户,然后将其附加到当前用户。我知道我的代码目前无法正常工作:
在编辑个人资料页面上
<%= f.label :account %> <i>(link another account to this profile)</i><br />
<% form_for @user.linked_accounts do |f| %>
<%= f.text_field :username %>
<%= f.collection_select :service, User::POSSIBLE_SERVICES, :to_s, :to_s,
:include_blank => true
%>
<%= f.submit %>
<% end %>
如何让它提交到设计数据库?这绝对是我需要修复的“ form_for @user.linked_accounts ”。我将其更改为 @user 并收到无方法错误,因为 :service 仅在链接帐户中定义。我认为我需要做的是创建一个新的关联帐户,然后执行 form_for @user.new_account。
我收到的错误是:
SQLite3::SQLException: no such column: linked_accounts.user_id: SELECT "linked_accounts".* FROM "linked_accounts" WHERE ("linked_accounts".user_id = 1)
【问题讨论】:
-
您收到的错误表明您的数据库中没有此列尝试先修复它
-
我知道——问题是我需要为当前用户创建一个新的关联帐户,但我不知道如何
-
您想将现有用户链接到 twitter、facebook 等...我是吗?你为什么不使用omniauth?
-
这与 twitter facebook api 无关。这是一个更简单的问题,关于如何让用户数据库与帐户数据库链接。
-
啊抱歉我的英语不太好...你只是想添加一个链接到用户的表格或列?
标签: ruby-on-rails ruby database devise