Ruby on rails 使用slim和Rails 4&;的动态部分名称;获取部分名称是无效的Ruby标识符错误
我正在构建一个Rails 4博客应用程序并使用Slim。 我正在尝试使用我的Post表中的'img_style'列动态设置部分名称。这将根据不同的枚举“图像样式”调用不同的部分。Ruby on rails 使用slim和Rails 4&;的动态部分名称;获取部分名称是无效的Ruby标识符错误,ruby-on-rails,dynamic,partials,slim-lang,Ruby On Rails,Dynamic,Partials,Slim Lang,我正在构建一个Rails 4博客应用程序并使用Slim。 我正在尝试使用我的Post表中的'img_style'列动态设置部分名称。这将根据不同的枚举“图像样式”调用不同的部分。 查看 = render = 'img_style_{#@post.img_style}' 这应产生相当于: = render = 'img_style_1' 我希望它能够呈现我的名为'\u img\u style\u 1.html.slim' 现在,使用我的代码,它只是在屏幕上呈现这个错误: There is an
查看
= render = 'img_style_{#@post.img_style}'
这应产生相当于:
= render = 'img_style_1'
我希望它能够呈现我的名为'\u img\u style\u 1.html.slim'
现在,使用我的代码,它只是在屏幕上呈现这个错误:
There is an Error: The partial name (img_style_{#@post.img_style}) is not a valid Ruby identifier; make sure your partial name starts with underscore, and is followed by any combination of letters, numbers and underscores.
使用单引号(
'
)定义的Ruby字符串不允许表达式替换。您需要改为使用双引号(”
),并在{
之前使用正确的替换语法(#
):
ETA相关,也许您已经这样做了,但我会确保img_style
仅包括使用验证定义部分的值,例如:
validates_inclusion_of :img_style, in: [1,2,3]
validates_inclusion_of :img_style, in: [1,2,3]