save:保存资源

0
视频
0
完成
0%
进度
0
分钟
0
完成
0%
进度

有了模型以后我们就可以把用户提交的内容放到数据库里了 .. 再找到 articles 控制器的 create 方法 ... 去掉里面的代码 ...

添加一个实例变量 .. 名字是 @article,然后使用 Article 这个模型的 new 方法 ... 根据用户提交的内容去创建一个新的模型 ... 用户提交表单创建的那个对象在 params[:article] 里面 ..

保存模型对象,可以使用它的 save 这个方法 .. 保存以后可以把用户重定向到一个地方 .. 用的是 redirect_to ,重定向的地址可以使用 @article 来表示 ..

回到前台再去试一下 ... 输入一个标题 ... 正文 ... 保存一下 ...

这里会出现一个 ActiveModel::ForbiddenAttributesError 的错误 .. 这是一个为了安全显示的错误 .. 我们需要在控制器里明确的指定允许的属性 ...

添加一个 private 方法 .. 先用一个 private 关键词 ... 它下面定义的方法都会是私有的方法,也就是我们只能在这个类的内部使用 ..

方法的名字可以是 article_params .. 主体这里用一下 params 的 require ... :article 这个对象 ... permit ,允许的属性可以放到这个方法里 ... 一个是 :title,还有一个是 :body

然后我们把方法的名字交给 Article 的 new 方法 ...

再去试一下 ... 提交一下这个表单 ... 这回又会显示一个其它的错误 ... 注意现在的地址是 articles/1 .. 因为我们在 create 动作里设置了,保存了模型以后,会把用户重定向到保存的这个文章的页面上 ...

现在的这个错误说,没有找到 show 这个动作 ...

save:保存资源《 Ruby on Rails:起步 》

统计

14696
分钟
0
你学会了
0%
完成

社会化网络

关于

微信订阅号

扫描微信二维码关注宁皓网,每天进步一点