如何在rails中同时使用form_with和simple_form_for?

时间:2018-08-15 10:25:57

标签: ruby-on-rails ruby

我正在使用名为 jquery-minicolors-rails 的gem创建一个rgb表。但是,github仅显示 simple_form_for 的示例。我正在使用 form_with

只需在 form_with 中插入 simple_form_for ,当您按下提交时它不会响应。

_form_html.erb(案例1)

<%= simple_form_for @balloon do |f| %>
  <%= f.input :color, as: :minicolors, input_html: {data: {
      minicolors: {theme: :bootstrap, position: :right}}} 
  %>
<% end %>
  

案例1在按下提交时不响应

_form_html.erb(案例2)

  <div class="field">
    <%= form.label :color %>
    <%= f.text_area :color, as: :minicolors, input_html: {data: {
        minicolors: {theme: :bootstrap, position: :right}}} %>
  </div>
  

案例2仅显示没有RGB表的text_area

谢谢您的阅读,我期待着很多建议。

2 个答案:

答案 0 :(得分:0)

您尚未发布提交按钮的实际代码,因此无法确定,但是form_tag使用

<%= f.submit %> 

simple_form_for使用时

<%= f.button :submit %>

尝试添加f.button:提交到您的simple_form_for,它应该可以工作

https://github.com/plataformatec/simple_form

答案 1 :(得分:0)

form_with不支持来自simple_form_for的期货。因此,在情况2中,asinput_html作为无效属性没有任何作用。在这种情况下,您必须使用脚本来初始化颜色选择器。另外,用gem将input替换为选择器,而不是textarea

#field
<%= f.text_field :color, class: 'color-picker' %>

#coffee script
$ -> $('.color-picker').minicolors theme: 'bootstrap'

此外,在每种情况下,您都需要添加提交按钮<%= f.submit %>或编写脚本,以在选择颜色时发送表格。