当我尝试与数据库中的用户创建会话时,我遇到了此错误.我的用户架构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和凤凰的新手,所以对此错误的任何帮助都将不胜感激!
如果我有这个计算:
10 - 12
Run Code Online (Sandbox Code Playgroud)
我显然会返回-2。但是我想使用 ruby 或 rails 方法,如果将计算传递给它,它基本上会返回 0。我似乎无法弄清楚这一点?
如果我有这个数组 - [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..
调用函数时,如果找不到所需的数据,我想重试该函数。我想在函数失败后 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 语句,我将尝试重试该函数。但这并不完全有效。
我正在尝试将动态路径传递给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 属性?
假设我有一个看起来像这样的数组:
arr = [ 1, 5, "dog", 6 ]
Run Code Online (Sandbox Code Playgroud)
如何删除字符串,以便我的输出如下所示:
[ 1, 5, 6 ]
Run Code Online (Sandbox Code Playgroud) 鉴于此字符串
"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.
我有一个巨大的数组,列出了创建对象的星期几,所以我最终得到了一个类似于以下内容的数组:
["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) 我有这个字符串:
"<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) 在使用 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)
显然,这行不通,但我现在有点卡住了。