Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/ruby/23.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Ruby on rails render:update do | page |无法正确使用Rails3.X_Ruby On Rails_Ruby_Ruby On Rails 3_Rjs - Fatal编程技术网

Ruby on rails render:update do | page |无法正确使用Rails3.X

Ruby on rails render:update do | page |无法正确使用Rails3.X,ruby-on-rails,ruby,ruby-on-rails-3,rjs,Ruby On Rails,Ruby,Ruby On Rails 3,Rjs,我的routes.rb中包含以下内容: match 'admins/approve' => 'admins#approve', :as => :admins_approve, :method => :post 在我的admins_controller.rb中,我有: def approve render :update do |page| page << "alert(" + params[:note] + ");" end

我的routes.rb中包含以下内容:

  match 'admins/approve' => 'admins#approve', :as => :admins_approve, :method => :post
在我的admins_controller.rb中,我有:

def approve
  render :update do |page|
      page << "alert(" + params[:note] + ");"  
  end           
end

取出link_to_函数并将其添加到表单标签中

<%= text_area_tag 'note' %>
<%= submit_tag "Submit %>
 <% end %>
然后创建approve.js.erb文件

 alert("<%= j(@note) %>");
警报(“”);

Plz请注意,我使用的是jQuery而不是prototype,您想要的功能是什么?您是否正在尝试向approve操作提交注释,并在javascript警报框中显示注释数据?是的,这不是我想要的最终结果,但至少我无法实现这一点。。你知道发生了什么事吗?好吧,使用jquery似乎需要创建单独的文件approve.js.erb,例如,并在那里执行逻辑,但是将我的ruby代码包含在js.erb文件中或控制器上的最佳方法是什么?就像让我们假设使用params[:note]我想更新user.update_属性(:note=>params[:note]),我应该把它放在哪里?在admin_cotroller中的def approve中,还是在approve.js.erb文件中?
<%= text_area_tag 'note' %>
<%= submit_tag "Submit %>
 <% end %>
def approve
  @note = params[:note]
  current_user.update_attribute(:note, @note)
  respond_to do |format|
    format.js
  end
end
 alert("<%= j(@note) %>");