更新方法不更新rails 4中的记录
Posted
技术标签:
【中文标题】更新方法不更新rails 4中的记录【英文标题】:Update method not updating record in rails 4 【发布时间】:2014-04-23 09:22:02 【问题描述】:我已经创建了一个脚手架控制器,我可以在其中删除记录、更新记录和创建新记录。所有方法都可以正常工作,但更新方法不起作用。当我更新任何记录然后提交它时,它只会告诉我记录更新成功但是当我检查我的数据库时没有任何变化。下面是我在控制器中的更新方法。请告诉我我做错了什么。
def update
respond_to do |format|
if @member = Member.find(params[:id])
format.html redirect_to @member, notice: 'Member was successfully updated.'
format.js head :no_content
else
format.html render action: 'edit'
format.json render json: @member.errors, status: :unprocessable_entity
end
end
end
【问题讨论】:
【参考方案1】:这是因为你没有告诉它更新。你应该有:
@member = Member.find(params[:id])
respond_to do |format|
if @member.update(member_params) # of course, you should have `member_params` method defined properly
# the rest of your code
【讨论】:
还记得允许您希望更新的每个模型属性。 当然,这应该在member_params
方法中。
尝试使用update
代替update_attributes
,因为update_attributes
在rails 4 中已被弃用
@RSB 你是什么意思? update_attributes
的使用甚至不会显示弃用警告。以上是关于更新方法不更新rails 4中的记录的主要内容,如果未能解决你的问题,请参考以下文章