在控制器中设置数据库中的值
Setting a value from database in the conroller
我正在尝试在下面的代码中设置电子邮件值,但我一直收到 "undefined method `email=' "。 current_user.email 基于当前登录的用户。登录系统是使用设计制作的。永远不会有人可以在未登录的情况下创建新的 post,因此总会有一个 current_user.email 值。
def create
@post= Post.new(post_params)
@post.email= current_user.email #this is the line where it falls apart
if @post.save
redirect_to posts_path, :notice => "Post Saved"
else
render "new"
end
end
这是 post 的表
class CreatePosts < ActiveRecord::Migration
def change
create_table :posts do |t|
t.string :title
t.string :venmo_name
t.float :price
t.datetime :end_datetime
t.integer :areacode
t.string :email
t.timestamps null: false
end
end
end
undefined method `email='
表示email
属性的Post
的setter方法没有定义。您的 posts
table 很可能只是缺少该列,否则 AR 会为您生成它。
我正在尝试在下面的代码中设置电子邮件值,但我一直收到 "undefined method `email=' "。 current_user.email 基于当前登录的用户。登录系统是使用设计制作的。永远不会有人可以在未登录的情况下创建新的 post,因此总会有一个 current_user.email 值。
def create
@post= Post.new(post_params)
@post.email= current_user.email #this is the line where it falls apart
if @post.save
redirect_to posts_path, :notice => "Post Saved"
else
render "new"
end
end
这是 post 的表
class CreatePosts < ActiveRecord::Migration
def change
create_table :posts do |t|
t.string :title
t.string :venmo_name
t.float :price
t.datetime :end_datetime
t.integer :areacode
t.string :email
t.timestamps null: false
end
end
end
undefined method `email='
表示email
属性的Post
的setter方法没有定义。您的 posts
table 很可能只是缺少该列,否则 AR 会为您生成它。