0

ブール値を持つ「メール スイッチ」列を含むユーザー モデルがあります。ビューにボタンを作成して、ユーザーがメールを「オン」および「オフ」できるようにしたいと思います。User モデルの値を更新するための送信ボタンを取得できません。

   <%= form_for :user do |f| %>
        <label>On</label>
        <%= f.radio_button :email_switch, true %>
        <label>Off</label>
        <%= f.radio_button :email_switch, false %>
        <%= f.submit "Save", :controller => "dashboard_emails", :action => "update", :method => "put" %>
    <% end %>


class DashboardEmailsController < ApplicationController
  before_filter :require_user

  def index
  end

  def update

  end

  private

  def require_user
    @user = @logged_in_user
  end


class User
  field :email_switch, type: Boolean, default: false
end
4

1 に答える 1

1

form_fornot への引数をf.submit呼び出しに渡す必要があります。永続的なユーザーが割り当てられている場合は、次のこと@userができるはずです。

<%= form_for @user do |f| %>
    <label>On</label>
    <%= f.radio_button :email_switch, true %>
    <label>Off</label>
    <%= f.radio_button :email_switch, false %>
    <%= f.submit "Save" %>
<% end %>

もちろん、これを機能させるresources :usersにはあなたが必要config/routes.rbです。次に、これは PUT リクエストを に送信する必要が/users/47あり、次にその#updateアクションが起動されます。UsersController

于 2013-01-02T21:26:22.690 に答える