-2
美好的一天。 我是新来的红宝石,我试图建立一个嵌套的“链接”字段的简单发布表单。RoR寻找专栏我已经使用迁移命令删除了专栏
如:
*****
TITLE
*****
POST
****
LINK - 1
LINK - 2
.
.
LINK - N
****
使用3个迁移文件我有以下模式文件
ActiveRecord::Schema.define(version: 20130827060014) do
create_table "links", force: true do |t|
t.text "link"
t.datetime "created_at"
t.datetime "updated_at"
end
create_table "posts", force: true do |t|
t.string "title"
t.text "body"
t.datetime "created_at"
t.datetime "updated_at"
end
end
第2迁移文件是创建表,当我创建的链接表我还添加了post_id列。 现在我已经决定使用下面的命令来删除此列:
$->rails g migration remove_field_name_from_links post_id:links
$->rake db:migrant
的,尽管该列并不“新”控制器后看起来像这样
def new
@new_post = Post.new
3.times {@new_post.links.build}
end
的问题是存在了它出现在系统仍在寻找它,因为我得到了以下错误消息:
SQLite3::SQLException: no such column: links.post_id: SELECT "links".* FROM "links" WHERE "links"."post_id" = ?
这是视图文件:
<h1> <%= @post.title %></h1>
<p> <%= @post.body %></P>
<ul>
<%= for links in @post.links do %>
<li>
<%= links.link %>
</li>
<% end %>
</ul>
有什么想法吗?
你能告诉你链接控制器...? – Sami
链接嵌入帖子内,我没有单独的控制器。尽管我已经对后期模型进行了以下更改。 \t has_many:links,:dependent =>:destroy accepted_nested_attributes_for:links – shultz
检查您是否已将“removed_field”从链接模型中的attr_accessible中移除。 – Sami