Ruby on rails 更新属性的Rails按钮不起作用

Ruby on rails 更新属性的Rails按钮不起作用,ruby-on-rails,ruby-on-rails-3,Ruby On Rails,Ruby On Rails 3,我有一个链接,在对象的“显示”视图中如下所示: <%= link_to "Approve", object_path(@object, status: true), method: :put, confirm: "Are you sure?", class: 'button' %> object\u路径(@object,status:true)导致params[:status]为true,而不是params[:object][:status]如您所愿,因此不使用@object更新对

我有一个链接,在对象的“显示”视图中如下所示:

<%= link_to "Approve", object_path(@object, status: true), method: :put, confirm: "Are you sure?", class: 'button' %>
object\u路径(@object,status:true)
导致
params[:status]
为true,而不是
params[:object][:status]
如您所愿,因此不使用
@object更新对象。更新\u属性(params[:object])

如果您想继续使用当前的代码模式,只需添加

parmas[:object] ||= {} 
params[:object][:status] = params[:status] if params[:status]
以前

if @object.update_attributes(params[:object])
一切都会好起来的

否则,我希望您为此更新呼叫制作一个表单:

<% form_for @object, :method => :put do |f| %>
  <%= f.hidden_field :status, :value => true %>
  <%= f.submit "Approve" %>
<% end %>
:put do | f |%>
正确%>

发布控制器代码可能会有所帮助。但是如果没有它,我将冒昧地猜测您在更新操作中将布尔字段具体设置为true?我在问题中添加了控制器的代码。我只是使用
update\u属性
来设置发布的内容。有什么想法吗?我试着把它放在这里,但仍然不起作用:
,在源代码中,它有
以及
,你能把接收到这个请求的rails服务器的日志粘贴到这里吗?也请添加!在update_attributes方法上,如:
if@object.update_attributes!(参数[:对象])
。通过这种方式,如果由于验证而未保存对象,则会引发错误并将其记录下来。在第1000000次查看日志时,我发现了一行之前不知何故遗漏的内容。我在过滤之前有一个授权
,这限制了我当前用户进行更新的能力。我删除了它以及它是如何工作的。。。我会记下你的答案,因为它让我找到了答案!谢谢如果不将其切换到表单(或添加其他参数),它仍然会抛出一个错误:)
<% form_for @object, :method => :put do |f| %>
  <%= f.hidden_field :status, :value => true %>
  <%= f.submit "Approve" %>
<% end %>