从我在调查此问题时所学到的知识,并从头开始创建用户而没有设计。该Devise是否不接受Hangfire
请求,因此我无法使用JSON访问用户模型。有没有人实施过包含RecurringJob
和[GET]
的解决方案?如何将用户模型与At.js
的<{1}}相关联?
在@Seichleon的帮助下更新了更新。
atwho-post.coffee
Devise
发布_form.html.erb(等待数据属性)
@Mentions symbol
答案 0 :(得分:1)
这有几个方面。首先让我们创建一个动作来处理我们的用户。
添加路线:
get 'share/users', as: :mentionables
将实际操作添加到控制器:(在我的情况下,控制器将是共享控制器)
class ShareController < ApplicationController
def users
render json: User.all, root: false
end
end
现在,无论何时访问share/users
,你都应该得到这样的回报:
[
{
"id":2,
"email":"test@2build.it",
"name": "sergio",
...
},
...
]
有了这个,您可以像这样设置at.js:
$('[data-mentionable]').atwho({
at: '@',
data: '<%= mentionables_path %>',
insertTpl: '${name}',
displayTpl: '<li data-id="${id}"><span>${name}</span></li>',
});
并且应该根据他们的名字列出用户。
答案 1 :(得分:1)
Post _form.html.erb view
<%= f.text_area :body, maxlength: @maximum_length, id: 'body', data: {behavior: 'autocomplete'} %>
atwho-post.coffee
jQuery ->
$('[data-behavior="autocomplete"]').atwho({
at: "@",
data: "/share/users.json",
insertTpl: '${username}',
displayTpl: '<li data-id="${id}"><span>${username}</span></li>',
limit: 15,
});