晚上好,我一直在试图弄清楚为什么当我提出 inspect.params 我得到 id => "id"
请参阅我的代码,用于从不更新属性的管理表单将 :approved 更新为 true。我想这是我忽略的东西
表单 index.html.erb
<% @snippets.each do |snippet| %>
<tr>
<td><%= link_to snippet.content %></td>
<td><%= snippet.created_at.to_date %></td>
<td><%= render snippet %></td>
<td>Status</td>
<td><%= button_to 'Approve', active_snippet_path(snippet.id) %></td>
</tr>
控制器(片段#approve)
def approve
#@snippet = @book.snippet.find(params[:id])
if @snippet.update_attribute(:approved, true)
redirect_to users_path
else
render root_path
end
end
该错误显然是由该位引起的,但不确定原因:
def find_book
raise params.inspect
@book = Book.find(params[:id])
@snippet = @book.snippets
return @book
end
end
这是我得到的检查。
{"authenticity_token"=>"D70njMSz3iYbVcCCkFIlolPBKeZUsVtFL5pabRT1CMo=", "controller"=>"snippets", "action"=>"approve", "id"=>"id"}
如果您需要其他任何东西,请告诉我。我想清楚地理解为什么这个 put 不适用于嵌套模型。