在凤凰城改变ecto模型的正确方法是什么?
到目前为止,我已经创建了一个Post
模型,其中包含title
和content
字符串字段。我将资源添加到路由器以创建和查看帖子
现在我想在我的模型中添加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:我确定这是一个基本的初学者问题。但由于凤凰社区很小,这个问题可能对很多其他人有用
答案 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