首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Quotes rails中的报价

Quotes rails中的报价
EN

Stack Overflow用户
提问于 2012-07-05 07:41:51
回答 3查看 355关注 0票数 0

我正在尝试在一个输入字段中创建一个值数组。然而,值需要有引号,而我很难让引号相互抵消。

下面是我的代码:

代码语言:javascript
复制
<input type="text" data-provide="typeahead"
       data-source='[<% @results.each do |result| %>"<%= result['name'] %>",<% end %>]'>

我的问题是我有两套"'。当我尝试像result[name]这样不带引号的东西时,我得到了错误:未定义的局部变量或方法‘`name’。

更新为我需要的数据源有‘’和数据里面有''s

我怎么才能避免这个问题呢?

EN

回答 3

Stack Overflow用户

回答已采纳

发布于 2012-07-05 07:52:24

尝尝这个

代码语言:javascript
复制
<input type="text" data-provide="typeahead" data-source="[<%= @results.map { |r| "'#{r['name']}'" }.join(',') %>]">

在IRB中,这是发生的事情

代码语言:javascript
复制
>> results = [{'name' => "abc"}, {'name' => "fds"}]
=> [{"name"=>"abc"}, {"name"=>"fds"}]
>> results.map { |r| "'#{r['name']}'" }.join(',')
=> "'abc','fds'"
票数 2
EN

Stack Overflow用户

发布于 2012-07-05 07:55:04

您应该将其重写为如下内容:

代码语言:javascript
复制
   <input type="text" data-provide="typeahead" data-source="[<%= @results.each {|result| result['name']} %>">

注意:此代码未经过测试。

本质上,评估beestings内部的ruby块的结果应该是所需的字符串-您不应该做任何beestings的嵌套。

票数 0
EN

Stack Overflow用户

发布于 2012-07-05 11:55:53

代码语言:javascript
复制
<input type="text" data-source='<%= @results.collect(&:name).to_json %>' data-provide="typeahead">

属性两边的引号在html5中是可选的

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/11336400

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档