[英]Creating a javascript variable with a rails active record association
我不想向dom添加活动记录关联,但是遇到了麻烦。
我有这个编辑器课程
.editing
.row
.col-sm-3
.col-sm-8
.text-left
#font-20
.title-font
.title-editor
实际上,编辑器是空的,应该这样做。 但是当有人编辑标题时,我将无法显示其保存的标题。 该编辑器的加载是通过jquery进行的,没有页面刷新。
在我的JavaScript中,我可以访问我想要标题的对象的ID
JS:
var draft = $(e.target).attr('class');
var id = id.slice(draft);
有了该ID,我想将对象标题添加到dom。
这样的事情将是理想的,但我认为这是不可能的。
var title = <%= Draft.find_by(id: $id).title %>
$('.title-editor').html(title);
我该怎么做?
好吧,您最终将需要使用ajax ...
首先,您可以对drafts_controller.rb
进行一些更改。 执行此操作的方法之一如下:
def show # @draft is supposingly defined in a before_action callback
respond_to do |format|
format.html
format.json {
render :json => {'title' = @draft.title}
}
end
end
因此,如果您的@draft
是:{id:1,title:'hello'},您将拥有:
http://your.app.com/drafts/1.json
,它将呈现{"title":"hello"}
。
你怎么使用这个? 容易...在您看来,您将此代码绑定到将触发它的事件。
$.ajax({
type: "GET",
url: "/drafts/"+id+".json",
dataType: "json",
success: function(data) {
$('.title-editor').html(data.title);
}
});
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.