凤凰改变模型

时间:2015-11-12 08:33:03

标签: elixir phoenix-framework ecto

在凤凰城改变ecto模型的正确方法是什么?

到目前为止,我已经创建了一个Post模型,其中包含titlecontent字符串字段。我将资源添加到路由器以创建和查看帖子 现在我想在我的模型中添加author字段。 我到现在所做的是以下内容:

我使用

创建了迁移
mix ecto.gen.migration add_author_to_post

在我插入的迁移文件中

alter table(:posts) do
  add :author, :string
end

并使用mix ecto.migrate进行迁移 现在,coloumn在数据库中可见 然后我将fileld添加到我的模型文件中:

schema "posts" do 
  field :title, :string
  field :content, :string
  field :author, :string
  timestamps
end

@required_fields ~w(title content author)
@optional_fields ~w()

但是当我访问页面添加新帖子时,没有字段可以在html.file中添加作者。 (new.html.eex文件由mix phoenix.gen.html生成)

PS:我确定这是一个基本的初学者问题。但由于凤凰社区很小,这个问题可能对很多其他人有用

1 个答案:

答案 0 :(得分:3)

模板不基于模型中定义的当前架构。它基于您传递SELECT c2.table_id FROM A c1 INNER JOIN A c2 ON c1.table_id = c2.parenttable AND c1.tablename ='student' AND c2.tablename = 'dependant' 任务的内容。

您需要更新模板,以便将作者包含在mix phoenix.gen.html

web/templates/post/form.html.eex