Ruby on rails 3.1 使用Formtastic将自定义标签指定给复选框
我有几个来自嵌套模型的复选框(Ruby on rails 3.1 使用Formtastic将自定义标签指定给复选框,ruby-on-rails-3.1,formtastic,Ruby On Rails 3.1,Formtastic,我有几个来自嵌套模型的复选框(:admin为:account\u设置接受嵌套属性)。默认情况下,复选框的标签是从模型的属性生成的。但是我想使用自定义标签,将其作为键值对存储在locales文件夹中 这是代码 = semantic_form_for(resource, :as => resource_name, :url => registration_path(resource_name), :validate => true, :html => { :method => :put }) do
:admin为:account\u设置接受嵌套属性)。默认情况下,复选框的标签是从模型的属性生成的。但是我想使用自定义标签,将其作为键值对存储在locales文件夹中
这是代码
= semantic_form_for(resource, :as => resource_name, :url => registration_path(resource_name), :validate => true, :html => { :method => :put }) do |f|
= f.input :email
= f.inputs :receive_email_digest, :as =>:check_boxes, :for => :account_setting, :label => 'My custom label'
而且它不起作用。我尝试了:input\u html,:member\u label
formtastic支持这个吗?还是我们必须破解它?输入是一个字段集。您告诉formtastic创建一个字段集和有序列表,其中包含一个列表项和输入,:receive\u email\u digest
,我认为这是一个布尔值。这里的:as
实际上没有任何效果,而:复选框
用于有许多关联
你想要的是:
= semantic_form_for(resource, :as => resource_name, :url => registration_path(resource_name), :validate => true, :html => { :method => :put }) do |f|
= f.inputs do
= f.input :email
= f.inputs :for => :account_setting do
= f.input :receive_email_digest, :label => 'My custom label'
这将使用单个输入呈现两个字段集。甚至可能:
= semantic_form_for(resource, :as => resource_name, :url => registration_path(resource_name), :validate => true, :html => { :method => :put }) do |f|
= f.inputs "Email Settings" do
= f.input :email
= f.semantic_fields_for :account_setting do |ff|
= ff.input :receive_email_digest, :label => 'My custom label'
这里的语义字段只是一个范围,不应该输出任何标记
我相信这两种方法都会使用en.formtastic.labels..account\u setting.receive\u email\u digest
作为复选框的标签,其中资源名称是资源的下划线名称。查看这些键是如何生成的