从用户模型操作创建视图中的操作

时间:2014-05-19 15:40:03

标签: ruby-on-rails

在用户模型中,我设置了用户从电子邮件通知中删除自己。如何在视图中调用代码,以便用户可以单击链接以删除通知?创建链接后,应将列no_email更新为1

等值

我知道这是一个noob问题,但我通常设置路线,然后将动作放在视图中。我认为这不应该是必要的。

def mailboxer_email(object)
    if self.no_email
    email
  else
    nil
  end
  end

2 个答案:

答案 0 :(得分:1)

你应该这样做:

<%= form_for(@user) do |f| %>
<div class="forms">
<%= f.check_box :no_email, :value => 1 %>
<%= f.submit 'Unsubscribe from notifications' %>
</div>
<% end %>

在用户模型中,将no_email添加到a​​ttr_accessible。

答案 1 :(得分:0)

您要调用的操作是“users#update”,以正常的操作方式传递“user [no_email] = 1”参数。

我通常会为这种事做一个傻瓜形式。

<%= remote_form_for @user do |f| %>
  <%= f.check_box :no_email, :onchange => "$(this).closest('form').submit();" %>
<% end %>