我的指南模型有一个国家/地区属性。我不想使用插件,我只想将国家作为字符串。一切正常,直到我尝试在activeadmin中编辑指南,然后我收到错误消息:
ActionView :: Template :: Error(要使用:country输入,请安装 country_select插件,如下所示: https://github.com/jamesds/country-select): 1:insert_tag renderer_for(:edit)
以我的形式
<%= f.input :country, as: :string%>
在我的admin / guidelines.rb中我有
index do
column :title
column :specialty
column :content
column :hospital
column :country
column :user
default_actions
end
答案 0 :(得分:14)
我不确定从哪里获得此表单代码,但我遇到与Active Admin相同的问题,并通过明确指示表单将字段视为字符串来解决它:
ActiveAdmin.register Guideline do
form do |f|
f.inputs 'Details' do
f.input :country, :as => :string
end
f.actions
end
end
答案 1 :(得分:4)
首先,您需要在GemFile中添加gem
gem 'country-select'
创建帮助文件'/app/helpers/active_admin/views_helper.rb'。添加以下代码
module ActiveAdmin::ViewsHelper
def country_dropdown
ActionView::Helpers::FormOptionsHelper::COUNTRIES
end
end
在您的视图文件中使用
form do |f|
f.inputs do
f.input :country, as: :select, collection: country_dropdown
end
f.actions
end
答案 2 :(得分:1)
使用country_select
。如果您最近这样做,似乎可以正常使用Rails 4.1。加上Rails旧回购链接到这个而不是国家选择。
答案 3 :(得分:0)
您正在使用 ActiveAdmin ,因此您还使用 Formtastic 。
在Formtastic中,在文件 formtastic / lib / formtastic / inputs / country_input.rb 中,它清楚地说:
# Rails doesn't come with a `country_select` helper by default any more, so you'll need to do
# one of the following:
#
# * install the [country_select](https://github.com/stefanpenner/country_select) gem
# * install any other country_select plugin that behaves in a similar way
# * roll your own `country_select` helper with the same args and options as the Rails one
我会将gem 'country-select'
添加到您的 Gemfile 并执行捆绑安装,这是最简单,最快速的解决方案。
答案 4 :(得分:-1)
我猜您可以安装gem,然后覆盖active_admin中的显示。
答案 5 :(得分:-4)
我建议您使用country-select
:
gem 'country-select'
我花了很多时间来找出为什么country-select不能以我的形式工作:)