rjs中的RoR +从提示符添加值到表

时间:2010-08-05 04:27:55

标签: ruby-on-rails

在js.rjs文件中的

我正在使用像

这样的文本框来提示

page<< “var name = prompt('输入名称:');”

我想将值名称添加到表名称

是否可以从rjs

进行

如果是的话请指导我怎么做..

1 个答案:

答案 0 :(得分:0)

你不应该这样做并转发rjs。您将返回由客户端执行的javascript,并且除非您将另一个AJAX调用嵌入到您返回的javascript中,否则无法直接获取该值。

更好的方法是使用单个AJAX调用。使用remote_form_fortext_field用户输入他们的name,然后将其POST到您的控制器操作并以正常方式将其存储在数据库中。

类似的东西:

# In your view
<% remote_form_for :user, :url => { :controller => :users, :action => :create } do |f| %>
  <%= f.text_field :name %>
  <%= f.submit %>
<% end %>

# In your controller
def create
  @user = User.new(params[:user])
  @user.save
  render :update do |page|
    # Return whatever javascript you want here
    page << "alert('Created user')"
  end
end