【问题标题】:Ruby on Rails, formtastic gives different HTMLRuby on Rails,formtastic 提供不同的 HTML
【发布时间】:2011-12-21 14:23:26
【问题描述】:

我有这个模板:

- f.inputs do
= user.input :is_vip?, :as => :boolean, :label=>'VIP'
= f.input :test, :as => :boolean, :required => false, :label => "This is TEST company"
= f.input :multi_destination, :as => :boolean, :required => false, :label => "Multi destination"

这是完全正常的事情。但是浏览器收到的代码在我的本地主机和舞台服务器中是不同的。我不知道在哪里挖。 CSS 完全相同,来源相同,一切都相同。

【问题讨论】:

  • 你能告诉我们这两种情况下“浏览器收到的代码”吗?
  • 在 localhost 上,LABEL 内部有 INPUT,在舞台上有两个单独的标签:输入和标签
  • 两台机器是否运行相同版本的 Rails/其他 gem?
  • 两台机器都有一个Gemfile,版本一样,我查过了。

标签: ruby-on-rails ruby formtastic


【解决方案1】:

默认情况下,Formtastic 使用名为label_with_nested_checkbox 的方法来呈现boolean input 字段。该方法在标签内呈现复选框 - 就像您在 localhost 中一样。

Formtastic 没有任何“默认方式”来“将输入字段从标签中取出”(他的作者在this question 上向我确认了这一点)它必须以某种方式进行修补才能做到这一点。以下是一些可能的地方:

  • 检查apps/inputs 目录,如果有的话。那是人们可以修改 Formtastic 插件的“标准”地方
  • 检查config/initializers 目录。看看那里是否有任何 Formtastic 猴子补丁。
  • 检查vendors 目录。
  • 最后,即使 gem 版本相同,有些人可能(抓紧!)更改了服务器中 gem 本身的代码。我当然希望他们没有。但无论如何,卸载并重新安装 gem,也许重新启动服务器,应该检查一下。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2015-03-05
    • 1970-01-01
    • 2023-03-26
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2015-01-26
    相关资源
    最近更新 更多