无法在Phoenix 1.3中生成html

时间:2018-05-09 08:15:04

标签: elixir phoenix-framework

尝试生成:

$ mix phx.gen.html MyModel my_models a b c d:integer

错误:

  ** (Mix) Expected the schema, "my_models", to be a valid module name

  mix phx.gen.html, phx.gen.json and phx.gen.context expect a
  context module name, followed by singular and plural names of
  the generated resource, ending with any number of attributes.
  For example:

      mix phx.gen.html Accounts User users name:string
      mix phx.gen.json Accounts User users name:string
      mix phx.gen.context Accounts User users name:string

  The context serves as the API boundary for the given resource.
  Multiple resources may belong to a context and a resource may be
  split over distinct contexts (such as Accounts.User and Payments.User).

这不起作用:

$ mix phx.gen.html MyModel my_models a b c d:integer --no-context

$ mix phx.gen.html MyModel my_models a b c d:integer --no-context --no-schema

即使在此之后,错误仍然存​​在:

config :my_app, :generators,
    context: false

它有什么用?

2 个答案:

答案 0 :(得分:1)

来自@Injectable({ provideIn: <MyLocalModule>}) export class SimpleServiceForLocalUseOnly { […] }的文档:

  

在没有架构或上下文文件的情况下生成

     

在某些情况下,您可能希望提升HTML模板,控制器,   和控制器测试,但保留上下文的内部实现   或模式给自己。您可以使用--no-context和--no-schema   用于文件生成控制的标志。

phx.gen.html标志指示生成器将上下文模块的实现留给开发人员,但您仍需要在命令中包含上下文模块的名称,如下所示:

--no-context

答案 1 :(得分:1)

使上述答案更清晰,

mix phx.gen.html Thebindingcontext MyModel mymodels a b c d:integer