【问题标题】:Rails 4 ajax load partial into viewRails 4 ajax 部分加载到视图中
【发布时间】:2015-07-21 13:19:04
【问题描述】:

有办法从按钮动态输入输入吗? 示例:

这是表格:

    <%= form_for(@order) do |f| %>

。 ...

  <div class="field">
    <%= f.label :productlist %><br>
    <%= f.select :productlist, @products, :prompt => 'Select one!' %>
    <%= link_to 'Add More', '#', id: 'products-link' %>
  </div>
  <div id="newproduct">
    <p>load here the new input on Add more link</p>
  </div>
  <div class="field">
    <%= f.label :status %><br>
    <%= f.text_field :status %>
  </div>
  <div class="actions">
    <%= f.submit %>
  </div>
<% end %>

所以我想到了 ajax 和一种将部分输入加载到表单中的方法,但我不理解正确的方法。

谢谢

【问题讨论】:

  • 您能否更清楚地通过 ajax 添加部分内容来实现什么。
  • 将相同的选择标签放入表单中,正是这样: 'Select one!' %>
  • 你可以试试EJS模板。在 .ejs 文件中编写通用代码并在需要时渲染它
  • 谢谢,但我正在寻找一种 ajax 方式

标签: ruby-on-rails ruby ajax ruby-on-rails-4 partial


【解决方案1】:

在你的 javascript 文件中添加:

  $("a#products-link").click(function(){
    $.get('/partials/products_form', function(data){
      $("div#newproduct").append(data);
    }, 'html');
  });

基本上正在发生的事情是,您将通过 ajax 将 get 请求发送到 /partials/products_form 中的表单或您选择保留表单部分的任何位置。然后这个 html 将附加到您在这种情况下选择的任何 div/标识符div#newproduct

【讨论】:

  • 感谢回复:js 似乎不是wotk 也许我错了这是控制器:pastebin.com/7khy5HR0 表单:pastebin.com/Td2zmVAZ 部分:pastebin.com/KX1CrwQv 和 js:pastebin.com/MuvJHSDP
  • 好的,你的javascript文件不应该是create.js.erb。它只是您资产文件夹中的常规 javascript 文件,例如 products.js$.get() 函数中的第一个参数也是一个 url,在我的例子中,我正在向 http://127.0.0.1:3000/partials/products_form 发送一个获取请求。您想向控制器中的一项操作发送获取请求。您可以通过转到命令提示符或终端并在应用程序目录中键入 rake routes 来检查所有操作的路径。
  • 您将不得不在您的产品控制器中执行一个新操作,该操作将监听此获取请求。
猜你喜欢
  • 2013-01-10
  • 1970-01-01
  • 1970-01-01
  • 2017-06-14
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多