rails carmen country_select没有表单对象的助手

时间:2012-07-24 09:50:06

标签: ruby-on-rails

我的表单与特定型号无关,如下所示:

<%= form_tag(:controller => 'orders' , :action => 'process_credit_card') do  %>
    ... bunch of fields ...
<% end %>

carmen-rails'country_select帮助器看起来像这样

 <%= f.country_select :country_code, {priority: %w(US CA)}, prompt: 'Please select a country' %>

但是我没有表单对象f,我使用像<%= text_field_tag 'billing_address[phone]' %>这样的帮助器来创建我的表单,有没有办法我仍然可以使用这种形式的卡门?

更新:我使用ActiveMerchant进行付款处理,我可以使用form_for而不是form_tag创建表单,但我不知道如何,任何指针都会受到赞赏。

5 个答案:

答案 0 :(得分:0)

这应该有用......

<%= country_select :country_code, {priority: %w(US CA)}, prompt: 'Select' %>

答案 1 :(得分:0)

我迟到了几年,但是我今晚遇到了这个问题,并通过爬行carmen-rails源代码找到了一个对我有用的解决方案。请注意,第二个哈希(作为第四个参数)可以包含HTML选项,如class

<%= country_select(nil, :country_code, { priority: %w(US CA) }, {}) %>

使用其他解决方案(没有nil作为第一个参数)我的AJAX搜索功能出现了序列化问题。整个哈希(包括优先级和其他代码)将与请求一起序列化。当我像上面那样调用它时,这不再是一个问题,只有国家代码被序列化。希望这将有助于将来遇到同样问题的人。

答案 2 :(得分:0)

请使用

<%= country_select(nil,:country, { priority: %w(US CA) , prompt: 'Select Country'},:class=>"form-control") %>

将上述内容与form_tag

一起使用
<%= f.country_select :country, {priority: %w(US CA), prompt: 'Select Country'},:class=>"form-control" %>

并使用上面的form_for

答案 3 :(得分:0)

执行此操作的正确方法不是使用CheckBox gem,而是依赖country_select gem和plain Rails形成帮助countriesselect_tagUsing country_select gem with form_tag and no model

答案 4 :(得分:-1)

尝试:

<%= country_select_tag :country_code, {priority: %w(US CA)}, prompt: 'Please select a country' %>