【问题标题】:rendering form in another view , form not showing up在另一个视图中呈现表单,表单不显示
【发布时间】:2016-10-18 17:26:30
【问题描述】:

我正在尝试在模式中呈现表单。它正在渲染它,但是 form_for 不只显示输入,因此我无法定位提交,我需要它来执行 ajax。

广告组/views/edit.html.haml

%div(id="openModal" class="modalDialog")
    %div
        %a(href="#close" title="Close" class="close")
        = render "/cars/new"

汽车/视图/new.html.haml

= form_for :car, :url => {:controller => 'cars', :action => 'create'}, :html => {:multipart => true,:id =>'car-form'} do |f|
%div(class="control-group")
    = label_tag             "Year"
    %br
    = text_field_tag    "year"
%br

%div(class="control-group")
    = label_tag             "make"
    %br
    %select{ :name => "make", :class => "chosen" }
        - @makes.each do |m|
            %option{:value => m.id}= "#{m.name}"
%br

%div(class="control-group")
    = label_tag             "Model"
    %br
    = text_field_tag    "model"
%br

%div(class="control-group")
    = label_tag             "Trim"
    %br
    = text_field_tag    "trim"
%br

%div(class="control-group")
    = label_tag             "Car Image(s)"
    %br
    = file_field_tag    "files[]"
%br


= submit_tag

这有点奇怪,因为我在不同的视图中渲染并且它可以工作。

汽车/后端.html.haml

%div(class="backend-unit")
%h2 Add Cars
= render 'new'

这是我的javascript。

$(document).ready(function(){
$('#car-form').on('submit',function(event){
    event.preventDefault();
    alert('hello');
});

});

Althoug 永远不会打招呼,因为它没有 form_for,因此我什至无法定位提交。 知道为什么吗??

【问题讨论】:

    标签: javascript jquery ruby-on-rails ajax forms


    【解决方案1】:

    Rails 接受相对于app/views 路径的render 路径,如果你有像app/views/cars/views/new.html.haml 这样的傻瓜结构,那么你应该使用= render "cars/views/new"。回答起来有点令人困惑,因为你提到你有 cars/backend.html.haml ,/car 之后没有 views 所以不确定你的结构是什么样的。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2013-06-15
      • 2019-04-25
      • 1970-01-01
      相关资源
      最近更新 更多