我有一个像这样的 Ecto 模式:
schema "quotes" do
field :quote, :string
field :tags, {:array, :string}
timestamps()
end
Run Code Online (Sandbox Code Playgroud)
在相应的迁移中有:
create table(:quotes) do
add :quote, :string, size: 145
add :tags, {:array, :string}
timestamps()
end
Run Code Online (Sandbox Code Playgroud)
我希望每个标签的tags最大大小为 140。如何在迁移中指定此约束?我的目标是在生成的 PostgreSQL 表中包含一个数组,varchar(140)而不是更“宽敞”的默认值(255?)。
assign/3当涉及到重定向/ 2时,我应该用它来发送像[1]这样的消息参数.然后我想在索引操作中获取message参数.
def index(conn, %{"member_id" => member_id}) do
# Show index page.
message = conn.params[:message]
end
def create(conn, _params) do
case Casher.create_members(members) do
{:ok, members} ->
conn
|> put_flash(:info, "Updated successfully.")
|> assign(:message, message) #[1]
|> redirect(to: page_path(conn, :index, member_id))
end
Run Code Online (Sandbox Code Playgroud)
然而,似乎没有在索引动作中获得参数.我应该如何得到一个额外的参数如消息.我不喜欢改变索引动作的参数.