小编Bit*_*ise的帖子

用长生不老药和凤凰预加载

当我尝试与数据库中的用户创建会话时,我遇到了此错误.我的用户架构has_many项目因此,当我尝试创建会话时,我收到此错误

projects: #Ecto.Association.NotLoaded<association :projects is not loaded>

我想我明白它在说什么,但我不知道在哪里预加载数据,这样页面将呈现在这里是我收到的完整错误.

defmodule PerriAir.Router do
 use PerriAir.Web, :router
 use Honeybadger.Plug
 use ExAdmin.Route    

 pipeline :browser do



protocol Enumerable not implemented for %PerriAir.User{__meta__: #Ecto.Schema.Metadata<:loaded, "users">, id: 8, inserted_at: #Ecto.DateTime<2016-12-23 15:38:38>, password: nil, password_hash: "$2b$12$NxLaK3ZUVPLE23E1L.64GOjm7FtTLemXPUXsp6gSAP346is8e6d5e", projects: #Ecto.Association.NotLoaded<association :projects is not loaded>, updated_at: #Ecto.DateTime<2016-12-23 15:38:38>}
Run Code Online (Sandbox Code Playgroud)

我是elixir和凤凰的新手,所以对此错误的任何帮助都将不胜感激!

elixir phoenix-framework

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

确保方程永远不会小于 0 - Ruby

如果我有这个计算:

 10 - 12
Run Code Online (Sandbox Code Playgroud)

我显然会返回-2。但是我想使用 ruby​​ 或 rails 方法,如果将计算传递给它,它基本上会返回 0。我似乎无法弄清楚这一点?

ruby ruby-on-rails

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

删除数组中的最后2个元素 - Ruby

如果我有这个数组 - [49, 33, 8, 45, 20, 6, 34, 50, 31, 36, 28, 42, 35, 32, 7, 2, 9, 1, 18, 21]我怎么能得到这个回报 - [49, 33, 8, 45, 20, 6, 34, 50, 31, 36, 28, 42, 35, 32, 7, 2, 9, 1]我试过这个并且它不起作用.array.size - 2..

ruby ruby-on-rails

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

从 __module__ 外部调用 Genserver

调用函数时,如果找不到所需的数据,我想重试该函数。我想在函数失败后 10 秒后重试。

目前的实施:

调度程序

def check_question do
    case question = Repo.get_by(Question, active: true, closed: false) do

    question when not(is_nil(question)) ->
      case ActiveQuestion.ready_for_answer_status(question) do
        n when n in ["complete", "closed"] ->
          question
            |> Question.changeset(%{ready_for_answer: true, closed: true})
            |> Repo.update()
      end
    _ ->
      Process.send_after(Servers.Retry, :update, 10_000)
    end
  end
Run Code Online (Sandbox Code Playgroud)

基因服务器:

defmodule Servers.Retry do
  use GenServer
  require IEx

  def start_link do
    GenServer.start_link(__MODULE__, %{})
  end

  def init(state) do
    {:ok, state}
  end

  def handle_info(:update, state) do
    Scheduler.check_question()
    {:noreply, state}
  end
end
Run Code Online (Sandbox Code Playgroud)

正如您所看到的,如果不满足 case 语句,我将尝试重试该函数。但这并不完全有效。

输出: …

elixir gen-server phoenix-framework

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

将动态数据传递到路由器链接。

我正在尝试将动态路径传递给vue-router,但似乎无法为其提供正确的语法。这是我正在尝试的。

<li v-on:click="$emit('closeDropdown')"><router-link to="item.route" id="button">{{ item.title }}</router-link></li>
Run Code Online (Sandbox Code Playgroud)

仅将其包装在引号中是不够的,因为这是我检查元素时看到的:href="#/item.route"对于所有项目。

父母组成

<UserDropdownList v-for="item in userDropdownItems" v-bind:item="item"></UserDropdownList>

 data: function () {
  return {
    userDropdownItems: [
      { title: 'Profile', route: "/profile" },
      { title: 'Users', route: "/users" }
    ]
   }
 }
Run Code Online (Sandbox Code Playgroud)

如何访问Router-linkto属性的route 属性?

javascript vue.js vue-component

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

如何很好地对中引导程序?

在此处输入图片说明在此处输入图片说明 我似乎无法很好地与页面中心对齐。似乎应该很容易,但我无法弄清楚。

css twitter-bootstrap

0
推荐指数
1
解决办法
6421
查看次数

从Ruby中的数组中删除字符串

假设我有一个看起来像这样的数组:

arr = [ 1, 5, "dog", 6 ]
Run Code Online (Sandbox Code Playgroud)

如何删除字符串,以便我的输出如下所示:

[ 1, 5, 6 ]
Run Code Online (Sandbox Code Playgroud)

ruby

0
推荐指数
1
解决办法
89
查看次数

如何将数字从字符串中提取到单独的数组中

鉴于此字符串

"In 2015, I want to know how much does iPhone 6+ cost?"
Run Code Online (Sandbox Code Playgroud)

我该怎么回事[2015, 6]

我的第一次尝试是

numbers = str.tr("^0-9", '')
Run Code Online (Sandbox Code Playgroud)

但那会产生20156.

ruby ruby-on-rails

0
推荐指数
1
解决办法
46
查看次数

创建匹配键和增量值的哈希值

我有一个巨大的数组,列出了创建对象的星期几,所以我最终得到了一个类似于以下内容的数组:

["wednesday", "thursday", "friday"] 除了它包含250,000个元素.

我想要做的是一个新的哈希,它将匹配键并增加值,所以结果如下:

{"wednesday": 250, "thursday": 600, "saturday": 120}

我怎样才能实现这个结果?

这是我目前的代码:

days = []

Invitation.all.each do |invitation|
  day = invitation.created_at.strftime("%A")
  days.push(day)
end

days
Run Code Online (Sandbox Code Playgroud)

ruby ruby-on-rails

0
推荐指数
1
解决办法
476
查看次数

找到div中的所有包含元素 - Ruby

我有这个字符串:

串:

"<div class='break'><div class='name-and-date'><strong>Mr. Talon 
 Williamson - Dec 18,  1:47 PM Eastern</div></strong><div class='note-
 contents'>- wrong</div></div><div class='break'><div class='name-and-
 date'><strong>Mr. Talon Williamson - Dec 18,  1:47 PM Eastern</div>
 </strong><div class='note-contents'>- Wrong again</div></div><div 
 class='break'><div class='name-and-date'><strong>Mr. Talon Williamson 
 - Dec 18,  1:47 PM Eastern</div></strong><div class='note-contents'>- 
 okay what is the matter with you.</div></div><div class='break'><div 
 class='name-and-date'><strong>Mr. Talon Williamson - Dec 18,  1:50 PM 
 Eastern</div></strong><div class='note-contents'>- Bro!</div></div>"
Run Code Online (Sandbox Code Playgroud)

在这个字符串中有一个div,它具有"break"类.我正在尝试删除该div的最后一次出现以及它包含的所有内容.

所以从那个字符串我希望它返回:

希望获得此回报:

"<div class='break'><div class='name-and-date'><strong>Mr. Talon 
 Williamson - Dec 18,  1:47 PM Eastern</div></strong><div class='note-
 contents'>- wrong</div></div><div class='break'><div class='name-and- …
Run Code Online (Sandbox Code Playgroud)

ruby ruby-on-rails

0
推荐指数
1
解决办法
49
查看次数

Memoize 多行方法 - Rails

在使用 Rails 之前,我从未实现过备忘,我想我遇到了一个很好的用例,但我不知道该怎么做。这是我正在使用的内容:

方法:

 def manager_rep_code_and_name
    manager = []

    rep_code_list.each do |rep_code|
      context = Finfolio::GetManagerByRepCode.call(rep_code: rep_code)

      manager.push({name: context.manager.response.first["Name"], rep_code: rep_code})
    end

    manager
  end
Run Code Online (Sandbox Code Playgroud)

此方法进行网络调用,可能需要一段时间才能弄清楚所有这些。有没有办法可以使用memoize这种方法,所以如果它已经存在,我就不必再出去提出这个请求了。

像这样的东西:

def manager_rep_code_and_name
   @managers ||= manager = []

   rep_code_list.each do |rep_code|
     context = Finfolio::GetManagerByRepCode.call(rep_code: rep_code)

     manager.push({name: context.manager.response.first["Name"], rep_code: rep_code})
   end

  manager
end
Run Code Online (Sandbox Code Playgroud)

显然,这行不通,但我现在有点卡住了。

ruby ruby-on-rails memoization

0
推荐指数
2
解决办法
967
查看次数