远程表单提交不在Rails3上使用命名空间

时间:2011-08-09 04:54:27

标签: ruby-on-rails-3 jquery

我正在开展一个项目,允许人们上传个人资料,包括与项目相关的项目和更新。

一切正常,但我想使用以下方式提交表单:remote =>是的,但我无法让它发挥作用。我可以使用经典的jquery / ajax来提交表单,但是Rails3 UJS很棒!

updates_controller.rb

def create
 @update =  Update.new(params[:update])
 @update.user_id = current_user.id
 @update.project_id = params[:project_id]    

if @update.save
  respond_to do |format|
    format.js { render :nothing => true } 
  end
 end
end

_form.html(views)

<%= form_for([@project, @update], :url => profile_project_updates_path, :remote => true) do |f| %>

我也尝试了

<%= form_for([:profile, @project, @update], :remote => true) do |f| %>

的routes.rb

namespace :profile do
  resources :projects, :only => [:show, :index, :edit] do
    resources :updates
  end
end

如果有人知道如何获取:remote =&gt;真的在这里工作,这将是伟大的!

感谢Stack Overflow社区所有宝贵的资源到目前为止。

_Clement

1 个答案:

答案 0 :(得分:0)

你是否在控制器的新动作中初始化了@project?

尝试替换

<%= form_for([@project, @update], :url => profile_project_updates_path, :remote => true) do |f| %>

<%= form_for([@update.project_id, @update], :url => profile_project_updates_path, :remote => true) do |f| %>

提交表单时服务器响应是什么?