小编Jun*_*ooq的帖子

将`bundle exec`添加到你的命令可以解决这个问题

我在部署网站时遇到问题AWS.

Gem::LoadError: You have already activated rake 10.4.2, but your Gemfile requires rake 10.5.0. Prepending `bundle exec` to your command may solve this.
  /var/app/ondeck/config/boot.rb:3:in `<top (required)>'
  /var/app/ondeck/config/application.rb:1:in `<top (required)>'
  /var/app/ondeck/Rakefile:4:in `<top (required)>'
  LoadError: cannot load such file -- bundler/setup
  /var/app/ondeck/config/boot.rb:3:in `<top (required)>'
  /var/app/ondeck/config/application.rb:1:in `<top (required)>'
  /var/app/ondeck/Rakefile:4:in `<top (required)>'
  (See full trace by running task with --trace)
   (ElasticBeanstalk::ExternalInvocationError)
Run Code Online (Sandbox Code Playgroud)

而当我这样做时,gem list rake它给了我

*** LOCAL GEMS ***

airbrake (4.3.1)
rake (10.5.0, 10.4.2)
Run Code Online (Sandbox Code Playgroud)

我想只有一个版本,当我做bundle exec gem uninstall rake -v …

ruby rubygems ruby-on-rails bundler

8
推荐指数
2
解决办法
1万
查看次数

将SSL添加到路由53 AWS上托管的域

我已经为路由53添加了一个IP,使其成为域名,并且工作正常.但我不知道如何在该域中添加ssl.任何人都可以请你介绍一下如何做到这一点?

amazon-web-services amazon-route53

7
推荐指数
4
解决办法
9495
查看次数

使用 v-bind 和 v-on 代替 v-model vuejs

我使用 v-model 来处理表单中的输入,我必须将其更改为绑定 props 值,首先输入就像

<input type="text" class="form-control" placeholder="" v-model="username">
Run Code Online (Sandbox Code Playgroud)

现在看起来像

<input type="text" class="form-control" placeholder="" v-bind:value="modelData.username" v-on:input="username = $event.target.value">
Run Code Online (Sandbox Code Playgroud)

modelData即将到来的道具。它有username

当使用模型时,在 中data,我定义了

data: () => {
  return {
    username: ""
  }
},
Run Code Online (Sandbox Code Playgroud)

它工作正常,但将其更改为v-bindand后v-on

username我的问题是我现在如何获得方法中的值?和过去一样,我得到它是为了this.username获取值并清除它,但现在我如何获取用户名

methods: {}
Run Code Online (Sandbox Code Playgroud)

我有一个保存输入的按钮

<button class="btn btn-secondary" type="button" @click="validateFormAndSave($event)">Save</button>
Run Code Online (Sandbox Code Playgroud)

validateFormAndSave接到电话时我this.username现在可以得到我无法获得的价值?但是 Vue 文档说v-modelv-bind:value&v-on:input是一样的吗?

更新:

用户名中可以有也不能有某个值,因为它已填充了props值,所以v-on:input="username = $event.target.value"不要获取已写入的值,而是获取您输入的唯一新值?或编辑它?为什么会这样呢?有没有什么方法可以获取任何人在那里输入或已经输入的内容?

更新:

这变得非常模糊。所以现在。1.我可以设置v-bind:value,但是如果不编辑它就无法在方法中获取它。2. 我无法设置 …

javascript vue.js vuejs2

6
推荐指数
1
解决办法
4347
查看次数

如何从 Struct Elixir 获取基于键的值

我有这个价值

%{is_public: true, discoverable: true}
Run Code Online (Sandbox Code Playgroud)

这可能是任何东西没有具体is_publicdiscoverable,但所有keys这些将上述进来Map将在可用struct的摄像机。

%Camera{
  __meta__: #Ecto.Schema.Metadata<:loaded, "cameras">,
  created_at: #DateTime<2017-08-25 14:13:55.524563Z>,
  discoverable: true,
  exid: "everc-fhlcr",
  id: 12769,
  is_online: true,
  is_online_email_owner_notification: false,
  is_public: true,
  last_online_at: #DateTime<2019-05-14 11:10:45.000000Z>,
  last_polled_at: #DateTime<2019-05-14 11:10:47.000000Z>,
}
Run Code Online (Sandbox Code Playgroud)

我想CameraMapie的基础上从结构中获取值

iex(4)> changes = %{is_public: true, discoverable: true} |> Map.keys
[:discoverable, :is_public]
Run Code Online (Sandbox Code Playgroud)

我可以从更改映射中获取密钥 Map.keys

但我不确定如何从 Camera 结构映射值。

从上面的相机结构和更改地图,我想获得这种类型的地图。

%{
 is_public: true,
 discoverable: true
}
Run Code Online (Sandbox Code Playgroud)

它看起来与上面的地图相同,但它取决于 Camera Struct 值,它们都可以是 false 或 true ,与 id、exid、is_online 相同。 …

elixir

5
推荐指数
1
解决办法
1358
查看次数

协议Phoenix.HTML.Safe没有实现Elixir Phoenix

我有一个具有如下值的对象

%{"Friday" => [], "Monday" => [], "Saturday" => [], "Sunday" => ["3:0-4:0", "6:0-7:0"], "Thursday" => [], "Tuesday" => [], "Wednesday" => []}
Run Code Online (Sandbox Code Playgroud)

我想在我的电子邮件模板的视图中显示它,我刚才说

<p>Schedule: <%= @schedule %></p>
Run Code Online (Sandbox Code Playgroud)

我得到了这个错误

** (Protocol.UndefinedError) protocol Phoenix.HTML.Safe not implemented for %{"Friday" => [], "Monday" => [], "Saturday" => [], "Sunday" => ["3:0-4:0", "6:0-7:0"], "Thursday" => [], "Tuesday" => [], "Wednesday" => []}
Run Code Online (Sandbox Code Playgroud)

在HTML中显示它的最佳方式是什么?

elixir phoenix-framework

4
推荐指数
1
解决办法
3389
查看次数

保持活动仅供生产Elixir Phoenix

我正在按照我的项目中的规定进行操作。但是我只想在生产模式下运行它,而不是在开发模式下运行,为此,我尝试了Mix.env一下,并通过给我:dev或它在本地:prod工作,但它不适用于在线API。出现错误,因为没有像env这样的东西。

我想通过某种模式匹配功能使其仅用于生产

  Task.start(fn ->
    if user |> Intercom.get_user |> intercom_user? do
      Logger.info "User '#{user.username}' already present at Intercom."
    else
      Intercom.create_user(user, user_agent, requester_ip)
    end
  end)
Run Code Online (Sandbox Code Playgroud)

任何帮助将不胜感激!

elixir phoenix-framework

3
推荐指数
1
解决办法
356
查看次数

第413话

我正在发送 base64 格式的图像,然后用它创建一个图像并将其发送到 AWS。

一开始还以为是Nginx的问题。所以我改为client_max_body_size最大值,但它没有用。我仍然收到413 Request Entity Too Large错误。

只有在我发送高分辨率图像的 Base64 字符串时才会发生这种情况。因为我们正在使用 aPlug来验证请求。我刚刚发现了Plug Parser Behavior。我创建的插件是:

defmodule EvercamMediaWeb.AuthenticationPlug do
  import Plug.Conn

  def init(_opts) do
  end

  def call(conn, _) do
    api_id = extract_credential(conn, %{header: "x-api-id", query: "api_id"})
    api_key = extract_credential(conn, %{header: "x-api-key", query: "api_key"})
    token =
      conn
      |> extract_credential(%{header: "authorization", query: "authorization"})
      |> String.downcase
      |> String.replace_leading("bearer ", "")

    case EvercamMediaWeb.Auth.validate(api_id, api_key, token) do
      :valid ->
        conn
      {:valid, user} ->
        conn
        |> assign(:current_user, user)
      :invalid …
Run Code Online (Sandbox Code Playgroud)

elixir

3
推荐指数
1
解决办法
1653
查看次数

如何使用 created_at 日期 Elixir 执行 Enum.sort_by 和搜索

我有这个数据,

[       
  %{
    company_id: "ocsc.ie",
    created_at: "Wednesday, 08 Mar 2017  6:14 AM",
    name: "O&#39;Connor Sutton Cronin",
    session_count: 2,
    user_count: 8
  },
  %{
    company_id: "virtuspm.ie",
    created_at: "Tuesday, 10 Jul 2018  8:48 AM",
    name: "VIRTUS",
    session_count: 1,
    user_count: 7
  },
  %{
    company_id: "garlandconsultancy.com",
    created_at: "Wednesday, 20 Jun 2018  3:32 PM",
    name: "Garland",
    session_count: 1,
    user_count: 3
  },
  %{
    company_id: "protectorsecurity.co.uk",
    created_at: "Friday, 31 Aug 2018 11:03 AM",
    name: "Protector Security Group",
    session_count: 4,
    user_count: 9
  },
  %{
    company_id: "tcd.ie",
    created_at: "Wednesday, 01 …
Run Code Online (Sandbox Code Playgroud)

elixir

3
推荐指数
1
解决办法
840
查看次数

从查询字符串 JS 中删除空参数

我有这个查询字符串:

"paymentMethod=1&fullname=&persona=&companyName=&countryName=&email=&totalCameras=&camerasOwned=&cameraShares=&snapmailCount=&sessionCount=&createdAtDate=&lastLoginAtDate=&telephone=&sort=created_at%7Cdesc&limit=50&page=1"
Run Code Online (Sandbox Code Playgroud)

我正在尝试删除所有空参数并将其变为:

"paymentMethod=1&sort=created_at%7Cdesc&limit=50&page=1"
Run Code Online (Sandbox Code Playgroud)

我采取了这种方法:

let searchParams = Object.fromEntries(new URLSearchParams(queryString))
let filteredParams = Object.fromEntries(
  Object.entries(searchParams).filter(([_, value]) => value != "")
)
console.log(new URLSearchParams(filteredParams).toString())
console.log(searchParams)
Run Code Online (Sandbox Code Playgroud)

但我不确定这一点,使用new URLSearchParams两次,这是一个更好、正确的方法吗?

任何指导将不胜感激。

javascript url url-parameters query-string

3
推荐指数
1
解决办法
4027
查看次数

模式匹配HTTpoison反应药剂

有什么方法可以模式匹配的错误响应httpoison?我在做这个

case HTTPoison.get!(url, [], []) do
  %HTTPoison.Error{reason: reason} ->
    IO.inspect "Media: #{reason}!"
    :timer.sleep(:timer.seconds(3))
    do_loop(starting, ending, interval, camera_exid)
  response ->
    upload(response.status_code, response.body, starting, camera_exid)
    do_loop(starting + interval, ending, interval, camera_exid)
end
Run Code Online (Sandbox Code Playgroud)

但是它没有抓住timeout并给我错误

** (HTTPoison.Error) :timeout
    (httpoison) lib/httpoison.ex:66: HTTPoison.request!/5
    (extractor) lib/snapshot/snap_extractor.ex:67: Extractor.SnapExtractor.do_loop/4
       (elixir) lib/enum.ex:651: Enum."-each/2-lists^foreach/1-0-"/2
       (elixir) lib/enum.ex:651: Enum.each/2
Run Code Online (Sandbox Code Playgroud)

我认为这样做是错误的。.有什么建议吗?

elixir httpoison

2
推荐指数
1
解决办法
727
查看次数