【问题标题】:jQuery won't work with simple_form in Rails 4jQuery 不适用于 Rails 4 中的 simple_form
【发布时间】:2013-07-21 20:48:05
【问题描述】:

我试图在 Rails 的 Simple_form 生成的脚手架中包含一些基本的 jQuery,以隐藏某些元素。由于我不明白的原因,jQuery 似乎根本不起作用。布局文件具有正确的 javascript 包含标记。我想知道我是否只是在犯一个基本的 CSS/jQuery 错误,或者我需要修复 Rails 是否有问题。

这是表格:

<div class = "check1" >
    <%= f.input :use_current_location?, input_html: {checked: true } %>
  </div>
  <div class = "hidden1">
    <%= f.input :address_line_1 %>
    <%= f.input :address_line_2 %>
    <%= f.input :address_line_3 %>
    <%= f.input :city %>
    <%= f.input :postcode %>
    <%= f.input :country %>
  </div>
  <div class = "check2">
    <%= f.input :available_now?, input_html: {checked: true } %>
  </div>
  <div class = "hidden2">
    <%= f.input :available_from? %>
    <%= f.input :time %>
  </div>

  <div class="actions">
    <%= f.button :submit %>
  </div>
<% end %>

我只是想隐藏表单的某些类。 jQuery是:

$(document).ready(function() {

    $(".hidden1").hide(); //Initially hides selected classes.
    $(".hidden2").hide();
});

我想知道这是否与 js 标签有关。布局文件:

<!DOCTYPE html>
<html>
<head>
  <title><!-- YOUR APP NAME--></title>
  <%= stylesheet_link_tag    "application", :media => "all" %>
  <%= javascript_include_tag "appication" %>
  <%= csrf_meta_tags %>
</head>
<body>

<%= render :partial => ('layouts/navbar') %>
<%= yield %>

</body>
</html>

任何帮助将不胜感激。如果有人也可以推荐一个不同的表单生成器,那也很棒。

我正在运行 Rails 4/Ruby 2.0.0

【问题讨论】:

    标签: jquery ruby-on-rails ruby css


    【解决方案1】:

    在不同项目中测试相同代码后,simple_form 覆盖 javascript 文件似乎存在问题。我发现使用 formtastic 也会发生同样的事情。我仍然不知道为什么会这样,但可以通过不使用表单生成器和使用默认脚手架来避免这个问题。

    【讨论】:

      【解决方案2】:

      缺少最后一行的右括号。试试 });

      【讨论】:

      • 谢谢,好地方。不幸的是,它在文档中实际上是正确的,我只是错误地复制了它。它仍然无法正常工作。我认为标签可能是错误的,或者我可能没有在 application.js 中正确“要求”js。是否必须从默认情况下完全编辑此文件?
      猜你喜欢
      • 2015-11-16
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2014-12-03
      • 1970-01-01
      • 1970-01-01
      • 2017-04-21
      • 2014-02-17
      相关资源
      最近更新 更多