现在,我的形式是:
<%= f.input :document, collection: @documents, wrapper: false, label: false, input_html: {class: 'fleft mleft5'} %>
将在json数组中生成:
[{
"document":"126"
}]
create
方法下的我的控制器:
document: params[:ng_geofence][:document]
我的模特
def as_hash(format=:google)
{
document: document
}
end
%w[document].each do |key|
define_method(key) do
value && JSON.parse(value)[key]
end
end
我的问题是如何获得这样的输出:
[{
"document":
{
"id":"126"
}
}]
----更新----
如果我将表格改为:
<%= select_tag "ng_geofence[driver_notification][document][id]", options_from_collection_for_select(@documents, "id", "name"), include_blank: true %>
我收到此错误:757: unexpected token at '{"document"=>{"id"=>"126"}}'
可能是因为"=>"
而不是":"
答案 0 :(得分:0)
解决了我自己的问题。我在这做了什么:
创建方法下的我的控制器:
document: {
id: params[:ng_geofence][:document]
}
我的模特
def as_hash(format=:google)
{
document: { id: document }
}