将变量插入数据属性
Interpolate variables into data attributes
这就是我通常使用数据创建 link 的方式。
= link_to 'link name', link_path, data: { day: '1' }
但现在我需要将“1”替换为这样的 rails 变量。
= link_to 'link name', link_path, data: { day: '#{customer.info}' }
但它不起作用,我不知道该怎么做。
您可以将变量插入仅使用双引号创建的字符串中 "
:
= link_to 'link name', link_path, data: { day: "#{customer.info}" }
顺便说一下,以下内容似乎就足够了:
= link_to 'link name', link_path, data: { day: customer.info }
如果您已经在 Ruby 上下文中,只需使用变量。
= link_to 'link name', link_path, data: { day: customer.info }
你现有的代码正在做的是传递一个带有 ruby 代码的字符串。代码不会被评估,因为被单引号包裹了。
为了使用插值,必须使用双引号。
= link_to 'link name', link_path, data: { day: "#{customer.info}" }
但是,正如我在答案开头提到的,您不需要从这里插入值。
这就是我通常使用数据创建 link 的方式。
= link_to 'link name', link_path, data: { day: '1' }
但现在我需要将“1”替换为这样的 rails 变量。
= link_to 'link name', link_path, data: { day: '#{customer.info}' }
但它不起作用,我不知道该怎么做。
您可以将变量插入仅使用双引号创建的字符串中 "
:
= link_to 'link name', link_path, data: { day: "#{customer.info}" }
顺便说一下,以下内容似乎就足够了:
= link_to 'link name', link_path, data: { day: customer.info }
如果您已经在 Ruby 上下文中,只需使用变量。
= link_to 'link name', link_path, data: { day: customer.info }
你现有的代码正在做的是传递一个带有 ruby 代码的字符串。代码不会被评估,因为被单引号包裹了。
为了使用插值,必须使用双引号。
= link_to 'link name', link_path, data: { day: "#{customer.info}" }
但是,正如我在答案开头提到的,您不需要从这里插入值。