2016-10-18 1 views
1

私はモーダル内でフォームをレンダリングしようとしています。しかし、form_forは入力だけを表示しないので、私はsubmitをターゲットにすることができず、ajaxを実行するためにはそれを必要とします。別のビューでレンダリングフォームが表示されない

広告グループ/ビュー/ 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 

私は別のビューでレンダリングしておりますのでそれは少し奇妙です働く

車/ backend.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を持っていないので、決してこんにちはになりません。したがって、私は提出をターゲットにすることすらできません。

答えて

0

レールはapp/viewsパスを基準にしており、app/views/cars/views/new.html.hamlのようなばかげた構造の場合は= render "cars/views/new"を使用してください。あなたがcars/backend.html.hamlを持っていると言われて以来、少し混乱しています。ここには/carの後にはviewsがありません。あなたの構造がどのように見えるかわかりません。

関連する問題