Ruby on rails Rails-我需要一个复选框来更改数据库中的字段

Ruby on rails Rails-我需要一个复选框来更改数据库中的字段,ruby-on-rails,database,checkbox,Ruby On Rails,Database,Checkbox,我知道我以前做过这件事,但无论如何我都搞不懂 我有一个表,表中有一个“called”字段。我需要使用一个复选框来更新数据库,并检查“called”是否为“true”。不需要是AJAX,只需要更新字段 表:rsvp 字段:调用 非常感谢。在视图中: <% form_for :rsvp, :url => {:controller => "rsvp", :action => "update"} do |f| %> <%= f.check_box :called

我知道我以前做过这件事,但无论如何我都搞不懂

我有一个表,表中有一个“called”字段。我需要使用一个复选框来更新数据库,并检查“called”是否为“true”。不需要是AJAX,只需要更新字段

表:rsvp 字段:调用

非常感谢。

在视图中:

<% form_for :rsvp, :url => {:controller => "rsvp", :action => "update"} do |f| %>
   <%= f.check_box :called %>
   <%= f.submit "Update" %>
<% end %>

如果您只是想通过单击复选框来实现这一点,那么您需要走Ajax之路。 尝试在视图中使用“观察”字段

<%= observe_field ":called",
                    :frequency  => 0.25,
                    :update     => 'feedback_to_user',
                    :url        => {:action => :mark_as_called},
                    :with       => 'called',
                    :on         => 'click' %>
0.25,
:update=>“向用户反馈”,
:url=>{:action=>:将_标记为被调用的},
:with=>called',
:on=>'单击“%”
所有的细节


不要忘记调整您的路由,以便可以找到“mark_as_called”操作。

没有ajax的简单方法是在表单中使用复选框,并使用复选框javascript onclick事件提交表单

例如:


查看

<% form_for @rsvp, :id => "rsvp" do |f| %>
  <%= f.check_box :called, :onclick => "$('#rsvp').submit()" %>
<% end %>
@rsvp = Rsvp.find(params[:id])
if @rsvp.update_attributes(params[:rsvp])
  # success
else 
  # fail
end
控制器

<% form_for @rsvp, :id => "rsvp" do |f| %>
  <%= f.check_box :called, :onclick => "$('#rsvp').submit()" %>
<% end %>
@rsvp = Rsvp.find(params[:id])
if @rsvp.update_attributes(params[:rsvp])
  # success
else 
  # fail
end

参考:


谢谢。我希望通过单击复选框来更新字段,而不是提交表单。还有其他想法吗?干杯我不会指定频率,因为这意味着它将使用轮询。相反,忽略该选项或指定0,代码将使用事件观察程序。