Ruby on rails render:update do | page |无法正确使用Rails3.X
我的routes.rb中包含以下内容: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
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) %>");