2009-09-25 7 views
0

(рельсы 2.3) у меня есть следующие действия в контроллере:form_remote_for передает нулевые значения

def new 
    @entity = Entity.new 
end 

def create 
    @entity = Entity.new(params[:entity]) 
    @entity.save 
end 

У меня есть следующий вид:

#this is the new.html.erb 
<% for_remote_for(@entity) do |f| %> 
<%= f.text_field :title %> 
<%= f.text_field :description %> 
<% end %> 

По некоторым причинам значения для: названия, и описание передается как null. Все остальное (например, created_at, updated_at) заполняется.

Любое предположение, почему эти значения передаются как null?

ответ

0

Может быть, вы можете попробовать сделать это в методе «создать»:

def create 
    Rails.logger.info "These are all params: " + params[:entity][:title] + params[:description] 
    @entity = Entity.new(params[:entity]) 
    @entity.save 
end 
  • , возможно, вы можете поймать эту проблему в журнале

Также проверьте Rails api для правильного синтаксиса - если у вас есть общая форма remote_form_for(@post), тогда это нормально, в противном случае вам нужно (:post).

1

Возможно, это могло бы помочь:

ActionView :: Helpers :: PrototypeHelper

remote_form_for(record_or_name_or_array, *args, &proc;) 

Создает форму, которая будет представлять с использованием XMLHttpRequest в фоновом режиме вместо регулярного расположения перезарядки POST и области вокруг который используется в качестве базы для опроса значений полей. ресурсов Пример:

<% remote_form_for(@post) do |f| %>  ... 
Смежные вопросы