2013-05-16 3 views
0

Я изучаю ROR и придерживался простой вещи, то есть проверки. Я добавил jquery.min.js и jquery.validate.min.js в application.html.erb. Затем я добавилRails jquery validations не работает

validates :title, :presence => true 

в файле модели (music_file.rb).

Посмотреть код

<%= form_for(@music_file, :url=>{:action => @post_url}, :multipart => true,  
:method=>"post", :id=>"upload_song_form") do |f|%> 
<%= f.text_field :title, :class => "input-textarea required"%> 

На отправить подтверждение кнопка не стреляя. Я не использовал здесь успокоительные URL-адреса, потому что post url динамически основан на предыдущей логике страницы. Является ли это основной причиной этой проблемы?

+0

Не уверен, но я не думаю, что jquery проверяет крючки в AR-моделях. Для этого вам придется написать дополнительный код на стороне клиента. Также: Отступление от Отречения всегда будет давать вам головные боли. Возможно, Rails является неправильным выбором для этого проекта. – Wukerplank

ответ

0

Я обычно делаю это:

_form.html.erb

<%= semantic_form_for @article, remote: true do |f| %> 
    <%= f.semantic_errors %> 

    <%= f.inputs do %> 
    <%= f.input :title %> 
    <%= f.input :content %> 
    <% end %> 

    <%= f.actions do %> 
    <%= f.action :submit %> 
    <% end %> 

<% end %> 

это запустит создать действие, и с выносным истинными вариантами он будет запустить файл create.js.erb , поэтому там вы можете проверить на наличие ошибок (валидацию) и заполнить, если необходимо:

<% if @article.errors.blank? %> 
    // some code goes here 
<% else %> 
    $("#info_window").html("<%=j render "form" %>"); 
<% end %> 
Смежные вопросы