Ruby 表单上的用户注册字段未保存到数据库

Ruby 表单上的用户注册字段未保存到数据库,ruby,forms,ruby-on-rails-4,Ruby,Forms,Ruby On Rails 4,我建立了一个登录页,用户可以在这里提交他们的电子邮件 我有以下数据库: create_table "subscriptions", force: true do |t| t.string "fname" t.string "lname" t.string "email" t.datetime "created_at" t.datetime "updated_at" end 以及“我的网页/主页”视图中的以下表单:

我建立了一个登录页,用户可以在这里提交他们的电子邮件

我有以下数据库:

  create_table "subscriptions", force: true do |t|
    t.string   "fname"
    t.string   "lname"
    t.string   "email"
    t.datetime "created_at"
    t.datetime "updated_at"
  end
以及“我的网页/主页”视图中的以下表单:

                <div class="form-subscribe">
                    <%= form_for(@subscription, { :class => 'form-horizontal' }) do |f|  %>

                        <div class="form-inputs subscription-box">
                            <div class: "form-space">
                                <div class: "form-group">
                                    <%= f.text_field :fname, class: "form-control sub-field", placeholder: "First Name" %>
                                </div>
                            </div>
                            <div class: "form-space">
                                <div class: "form-group">
                                    <%= f.text_field :lname, class: "form-control sub-field", placeholder:"Last Name" %>
                                </div>
                            </div>
                            <div class: "form-space">
                                <div class: "form-group">
                                    <%= f.email_field :email, class: "form-control sub-field", placeholder:"Email" %>
                                </div>
                            </div>
                        </div>
                        <div class="form-actions">
                          <%= f.button :submit, class: "btn btn-default"%>
                        </div>

                    <% end %>

                </div>
结束

这是我的页面控制器:

class PagesController < ApplicationController

    def home
        @subscription = Subscription.new
    end

end
class PagesController

我对这一点很陌生,所以不确定这里发生了什么,有什么想法吗?

当您使用
Rails4
时,您必须使用
strong参数来允许所需的属性

像这样更新您的
subscriptioncontroller

class SubscriptionsController < ApplicationController

def new
    @subscription = Subscription.new
end

def create
    @subscription = Subscription.new(subscription_params)
    if @subscription.save
       redirect_to root_path
    else
    render 'new'
    end
end

private
def subscription_params
params.require(:subscription).permit(:fname,:lname,:email)
end
class subscriptioncontroller

查看一下这些
中的
参数

您不是已经在控制器中设置了
强参数
方法吗?嗯,我可能忘记了这些,这些是必要的吗?我现在正在读关于他们的书。还有哪个控制器。我不明白为什么我们必须有两个控制器…我的答案对你有用吗?
class SubscriptionsController < ApplicationController

def new
    @subscription = Subscription.new
end

def create
    @subscription = Subscription.new(subscription_params)
    if @subscription.save
       redirect_to root_path
    else
    render 'new'
    end
end

private
def subscription_params
params.require(:subscription).permit(:fname,:lname,:email)
end