【发布时间】:2015-12-31 03:23:54
【问题描述】:
更新:
我有一个 link_to 设置用于删除作为嵌套资源的对象。在销毁之前,我有一个方法可以根据 object_params 检查该对象的实例,但是当它尝试引用 object_params 时,发送的参数会不断提高 undefined method 'permit' for "asdfsadf":String。
按钮:
<%= link_to content_tag('button', '', class: 'btn fa fa-trash-o focus-delete-button'), parent_object_path( :parent_id => focus.z_kf_parent, :id => focus.id, :object => focus), data: {confirm: "Are you sure you want to delete '#{focus.name}'"}, method: :delete %>
参数:
{"_method"=>"delete",
"authenticity_token"=>"gmlVYHy230Y1lQY=",
"object"=>"6c1367b1-1d63-4545-bbdb-b8ac9bd39422",
"action"=>"destroy",
"controller"=>"objects",
"parent_id"=>"FA100073-4A0C-4EE0-8FB1-3EC39C61AD39",
"id"=>"5-bbdb-b8ac9"}
object_params:
def object_params
params.require(:set_list).permit(:id, :photographer, :digital_tech, :photo_production, :stylist, :stylist_assistant, :hair_makeup, :photographer_assistant, :name, :t_start, :t_finish, :z_kf_parent)
end
方法:
def set_object
binding.pry
@object = Object.(object_id: object_params[:id]).first
end
我没有在link_to中设置参数吗?
【问题讨论】:
-
我认为您的错误在于方法
object_params。你能把那个方法的内容贴在这里吗? -
@tolgap 用
object_params更新了问题 -
首先,现在您使用当前的
link_to构造将<a>标签包裹在<button>标签周围。这里的content_tag(:button)是什么?您可以简单地将该按钮的类分配给link_to。 -
有些东西无法计算。带有该代码的
params的内容无法产生该输出。 -
这里
"id"=>"5-bbdb-b8ac9"是字符串,但是id在数据库中定义为int,所以把代码改成:id => focus.id.to_i
标签: ruby-on-rails ruby-on-rails-4 link-to destroy nested-resources