我正在构建一个允许用户输入单词的表单,当他们关闭时,我查询字典(Wordnik.com)以检索定义,并将定义作为单选按钮选择添加到表单中。javascript 拿起这个词,在我的 WordsController 中调用 get_definition 函数并查询字典 API,但我似乎无法得到要渲染的部分(现在它只是打印出 "<%= escape_javascript.....% >")
PS:我也试过直接用jquery查询api(所以我没有点击get_definitions函数)但我无法获得发送请求,所以我现在坚持使用上述方法。
words_controller:
def index
@words = Word.where(user_id: current_user)
@word = current_user.words.new
@defs = Array.new
end
def get_definition
@defs = Wordnik.word.get_definitions(params['word'])
render nothing: true
end
javascript:
$('input#word_name').blur(function(){
var word = $('input#word_name').val();
$.ajax({
url: '/words/get_definition',
data: 'word='+word
})
$('#addDefinitionContainer').html("<%= escape_javascript(render partial: 'words/definitions', locals: {f: f}) %>")
})
_definitions 部分:
<% @defs.each do |definition| %>
<div class="definition_choice">
<%= f.label definition %>
<%= f.radio_button :definition, "yes" %>
</div>
<% end %>