Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/ruby/20.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Ruby on rails 为rails设置创建表单_Ruby On Rails_Ruby_Forms_Preferences_Form Helpers - Fatal编程技术网

Ruby on rails 为rails设置创建表单

Ruby on rails 为rails设置创建表单,ruby-on-rails,ruby,forms,preferences,form-helpers,Ruby On Rails,Ruby,Forms,Preferences,Form Helpers,在我的Rails应用程序中,我使用保存用户的电子邮件通知设置。我正在尝试创建一个表单来更新用户的通知设置。它应该由一组复选框组成,用户可以在这些复选框中选择希望接收电子邮件通知的内容 在rails设置自述文件中,没有关于如何将其与表单集成的示例。我找到的最接近的教程列在以下问题中: 但我不确定实际的表单元素在我看来会是什么样子。例如,如果我想创建一个如下所示的输入: <input name="settings[email][comments]" type="textbox" value=

在我的Rails应用程序中,我使用保存用户的电子邮件通知设置。我正在尝试创建一个表单来更新用户的通知设置。它应该由一组复选框组成,用户可以在这些复选框中选择希望接收电子邮件通知的内容

在rails设置自述文件中,没有关于如何将其与表单集成的示例。我找到的最接近的教程列在以下问题中:

但我不确定实际的表单元素在我看来会是什么样子。例如,如果我想创建一个如下所示的输入:

<input name="settings[email][comments]" type="textbox" value="1">


如何使用rails表单助手生成此表单?

这就是我创建表单的方式。希望这对其他人有帮助

edit.html.erb

<%= form_for(resource, :as => resource_name, :url => registration_path(resource_name), :html => { :method => :put }) do |f| %>
   <h4>Email notifications</h4>
   <div>Receive email notifications when</div>
   <div class="notification_settings_container" style="margin-bottom: 30px;">
        <%= fields_for current_user.settings(:email) do |settings_fields| %>
            <div class="notification_checkbox">
               <%= settings_fields.check_box :comments %> someone comments on my project
             </div>
             <div class="notification_checkbox">
                <%= settings_fields.check_box :followed %> someone follows me
             </div>
             <div class="notification_checkbox">
                <%= settings_fields.check_box :featured %> my projects get featured
             </div>
             <div class="notification_checkbox">
                <%= settings_fields.check_box :remixed %> someone remixes my project
             </div>
             <div class="notification_checkbox">
                 <%= settings_fields.check_box :collaborator %> someone adds me as a collaborator on a project
             </div>
             <div class="notification_checkbox">
                  <%= settings_fields.check_box :favorited %> someone favorites my project
             </div>
             <div class="notification_checkbox">
                  <%= settings_fields.check_box :collectify %> my project gets added to a collection
             </div>
         <% end %>
   </div>

   <%= f.submit "Update", :class=>"btn btn-small btn-info submitButton" %>
<% end %>
class RegistrationsController < Devise::RegistrationsController
  def update
    if params[:rails_settings_setting_object]
            params[:rails_settings_setting_object].each do |key, value|
                Rails.logger.debug('setting email setting ' + key + 'to ' + value=="1")
                current_user.settings(:email).update_attributes! key.to_sym => value=="1"
            end
            redirect_to :back, notice: "Update email preferences!"
     end
   end
end
resource\u name,:url=>registration\u path(resource\u name),:html=>{:method=>:put})do | f |%>
电子邮件通知
收到电子邮件通知时
有人对我的项目发表评论
有人跟着我
我的项目得到了推荐
有人混音了我的项目
有人将我添加为项目的合作者
有人喜欢我的项目
我的项目被添加到集合中
“btn btn小型btn信息提交按钮”%>
注册\u controller.rb

<%= form_for(resource, :as => resource_name, :url => registration_path(resource_name), :html => { :method => :put }) do |f| %>
   <h4>Email notifications</h4>
   <div>Receive email notifications when</div>
   <div class="notification_settings_container" style="margin-bottom: 30px;">
        <%= fields_for current_user.settings(:email) do |settings_fields| %>
            <div class="notification_checkbox">
               <%= settings_fields.check_box :comments %> someone comments on my project
             </div>
             <div class="notification_checkbox">
                <%= settings_fields.check_box :followed %> someone follows me
             </div>
             <div class="notification_checkbox">
                <%= settings_fields.check_box :featured %> my projects get featured
             </div>
             <div class="notification_checkbox">
                <%= settings_fields.check_box :remixed %> someone remixes my project
             </div>
             <div class="notification_checkbox">
                 <%= settings_fields.check_box :collaborator %> someone adds me as a collaborator on a project
             </div>
             <div class="notification_checkbox">
                  <%= settings_fields.check_box :favorited %> someone favorites my project
             </div>
             <div class="notification_checkbox">
                  <%= settings_fields.check_box :collectify %> my project gets added to a collection
             </div>
         <% end %>
   </div>

   <%= f.submit "Update", :class=>"btn btn-small btn-info submitButton" %>
<% end %>
class RegistrationsController < Devise::RegistrationsController
  def update
    if params[:rails_settings_setting_object]
            params[:rails_settings_setting_object].each do |key, value|
                Rails.logger.debug('setting email setting ' + key + 'to ' + value=="1")
                current_user.settings(:email).update_attributes! key.to_sym => value=="1"
            end
            redirect_to :back, notice: "Update email preferences!"
     end
   end
end
类注册控制器value==“1”
结束
重定向到:返回,注意:“更新电子邮件首选项!”
结束
结束
结束