Php Post.Username不会显示在haml中吗?
好吧,我想这可能是一个非常直截了当的问题。我似乎破坏了我的应用程序的一个功能,它显示了提交帖子的人的用户名(在我的例子中是“pin”) 这一切都发生在我将用户名添加到数据库(Desive)的时候,因为以前我只显示电子邮件地址,觉得这不是我真正想要的 Tl;dr:=pin.user.username(app/views/pins/index.html.haml)不显示提交帖子的人的用户名。但是,它将显示带有pin.user.email的电子邮件 这是我的Pin控制器(我的箱子中的Pin是Desive中的Post) 我的模式为用户显示了这一点Php Post.Username不会显示在haml中吗?,php,ruby-on-rails,ruby,devise,haml,Php,Ruby On Rails,Ruby,Devise,Haml,好吧,我想这可能是一个非常直截了当的问题。我似乎破坏了我的应用程序的一个功能,它显示了提交帖子的人的用户名(在我的例子中是“pin”) 这一切都发生在我将用户名添加到数据库(Desive)的时候,因为以前我只显示电子邮件地址,觉得这不是我真正想要的 Tl;dr:=pin.user.username(app/views/pins/index.html.haml)不显示提交帖子的人的用户名。但是,它将显示带有pin.user.email的电子邮件 这是我的Pin控制器(我的箱子中的Pin是Desiv
add_index "pins", ["user_id"], name: "index_pins_on_user_id"
create_table "users", force: true do |t|
t.string "email", default: "", null: false
t.string "encrypted_password", default: "", null: false
t.string "reset_password_token"
t.datetime "reset_password_sent_at"
t.datetime "remember_created_at"
t.integer "sign_in_count", default: 0, null: false
t.datetime "current_sign_in_at"
t.datetime "last_sign_in_at"
t.string "current_sign_in_ip"
t.string "last_sign_in_ip"
t.datetime "created_at"
t.datetime "updated_at"
t.string "username"
end
我已经附上了我的git,以防你需要一些具体的细节
您的问题不是haml,而是您试图显示的用户名似乎是空的。你的haml结构看起来很好。 如您的
pin_参数中所述,不允许使用用户名
,因此请确保允许并将其保存到数据库中。比你的haml还管用 删除
attr_accessor :username
def username=(username)
@username = username
end
从您的user.rb
模型文件中,它会弄乱ActiveRecord您应该将您的问题重新构造为一个最小的完整可验证示例:。现在,任何能够帮助您的人都必须检查您的整个代码库以了解发生了什么。@JChrist谢谢您的提示!我会看看我怎么收拾的。对不起。我不太了解haml,但是,在你的代码上,我在你的pins\u控制器中找到了“attr\u accessor:username”。似乎对您的架构没有任何参考。也许会做些“干扰”?@r我不知道什么是干扰。我编写ruby代码才几天。我已经从我的pins控制器中删除了attr_accessor:username,因为我注意到我的应用程序控制器中已经有了它。我已经用我的模式更新了主要帖子,因为这可能会有用。@Iceman谢谢!在从User.rb文件中删除attr_accessor:username之后,它似乎已经修复了我的问题,并且我确信按照KcUS_unico的建议将:username添加到我的pin_参数中。谢谢你们两位的帮助!我真的很感激。我已经更新了我的pins_控制器,包括:def pin_params params.require(:pin)。permit(:title,:description,:image,:username)结束,并在检查用户是否有@u=user的用户名后。所有这些都显示了一个用户名:created_在:“2017-02-06 18:47:44”,updated_在:“2017-02-11 12:54:04”,用户名:“ultralight”>但是我的index.html.haml仍然没有显示创建pin的人的用户名。你应该确保你也可以在控制台中访问这样的用户名。pin.user.username。haml很好。谢谢你。我感谢你的帮助!
add_index "pins", ["user_id"], name: "index_pins_on_user_id"
create_table "users", force: true do |t|
t.string "email", default: "", null: false
t.string "encrypted_password", default: "", null: false
t.string "reset_password_token"
t.datetime "reset_password_sent_at"
t.datetime "remember_created_at"
t.integer "sign_in_count", default: 0, null: false
t.datetime "current_sign_in_at"
t.datetime "last_sign_in_at"
t.string "current_sign_in_ip"
t.string "last_sign_in_ip"
t.datetime "created_at"
t.datetime "updated_at"
t.string "username"
end
attr_accessor :username
def username=(username)
@username = username
end