Вы не должны делать это обратно и пересылать с помощью rjs. Вы возвращаете javascript для выполнения клиентом, и вы не можете получить значение обратно напрямую, если не вставите другой вызов AJAX в javascript, который вы возвращаете.
Лучший способ сделать это - использовать один вызов AJAX. Используйте remote_form_for
с text_field
, чтобы пользователь ввел свои name
, затем отправьте их в действие вашего контроллера и сохраните в базе данных обычным способом.
Что-то вроде:
# 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