【问题标题】:Rails 5 add column to table and then update viewRails 5 将列添加到表中,然后更新视图
【发布时间】:2017-03-23 02:30:58
【问题描述】:

我让 Rails 创建一个简单的脚手架:

> rails g scaffold Book title:string

然后我想添加作者:

> rails g migration AddAuthorToBooks author:string

接下来我做了一个 rails db:migrate 并重新启动了我的服务器。到目前为止,一切顺利。

最后,我通过添加作者字段 (book.author) 修改了表单视图和索引视图。

当我在新表单中输入作者或编辑现有记录并点击“提交”时,我觉得我做的一切都是正确的,但我仍然无法在生成的 HTML 视图中看到作者。而且,当我在 Rails 控制台中检查记录时,它显示的值为 nil。

任何想法我做错了什么?或者我可以检查什么?

【问题讨论】:

  • 日志中POST请求发送了什么?
  • 未经允许的参数:作者 (0.1ms) 开始事务 SQL (0.6ms) INSERT INTO "books" ("title", "created_at", "updated_at") VALUES (?, ?, ?) [ ["title", "Time Flys"], ["created_at", 2017-03-23 02:38:21 UTC], ["updated_at", 2017-03-23 02:38:21 UTC]] (1.3ms ) commit transaction Redirected to localhost:3000/books/2 Completed 302 Found in 6ms (ActiveRecord: 2.0ms)

标签: ruby-on-rails ruby rails-migrations


【解决方案1】:

您现在必须将已添加到表中的作者列添加到 book_params 方法中,如下所示:

def book_params
  params.require(:book).permit(:title, :author)
end

【讨论】:

  • 不客气,感谢编辑建议,我没注意到,玩得开心!
猜你喜欢
  • 2011-05-25
  • 2019-12-20
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2017-02-20
相关资源
最近更新 更多