我试图在下面的代码中设置电子邮件值的值但是我一直在"未定义的方法`email =' &#34 ;. current_user.email基于当前登录的用户。登录系统是使用devise进行的。永远不会有人在没有登录的情况下创建新帖子,因此总会有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
这是帖子表
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
答案 0 :(得分:1)
未定义的方法`email ='
它说没有定义Post
属性的email
的setter方法。您的posts
表很可能只是错过了该列,否则AR会为您生成它。