所以这是我第一次尝试没有教程指导在RoR上构建网站。设置我的电子邮件注册表单时遇到一些麻烦。我认为我的模型如何设置或连接存在问题但不太确定。获取"未定义的方法`model_name'对于NilClass:Class"作为错误"。
signup.rb
class Signup < ActiveRecord::Base
validates_presence_of :email
def change
create_tabe :quotes do |t|
t.string :email
end
end
end
signups_controller.rb
class SignupsController < ApplicationController
def new
@signup = Signup.new
end
def create
@signup = Signup.new(secure_params)
if @signup.valid?
redirect_to root_path
else
render :new
end
private
def secure_params
params.require(:signup).permit(:email)
end
end
视图的简单表单部分
<%= simple_form_for @signup do |f| %>
<%= f.input :email %>
<%= f.submit 'Signup', :class => 'btn btn-success' %>
<% end %>
的routes.rb
Rails.application.routes.draw do
root 'pages#index'
get '/about' => 'pages#about'
get '/tour' => 'pages#tour'
get '/music' => 'pages#music'
resources :signups, only: [:new, :create]
end
感谢您的帮助!
答案 0 :(得分:0)
<%= simple_form_for @signup do |f| %>
to
<%= simple_form_for :signup do |f| %>
现在它不会因为符号:signup
而引发任何错误,但是要提交表单,您需要action
attributes
,因为您可以使用url: { action: "create" }
{{ 3}}
希望这对你有所帮助。