Rails 3 best_in_place_if 如何向元素添加 "id" 属性
Rails 3 best_in_place_if how to add "id" attribute to element
我正在使用 best_in_place_if 进行内联编辑。在这里,我想使用 best_in_place.
的 ajax 成功事件来捕获编辑的当前元素的 id
下面是我尝试添加 id 属性的代码片段。但是当我检查 html 时,id 属性的值是由 bes_in_place 生成的默认值。根据他们的文档,它提到可以通过提供我们自己的值来更改默认值。
id 属性的默认值显示为 id="best_in_place_trip_32_is_active" 而我想要的只是 id=32
best_in_place_if(current_user.admin,trip,:is_active, :type => :checkbox, :classes => 'trip_disable', :id => trip.id)
请让我知道我缺少什么。
首先,您不应尝试为元素使用纯数字 ID 属性,这 violates the HTML specs。
然后,要在成功回调中访问当前编辑记录的id
,您可以将记录id
添加到数据属性 .这样的事情应该有效:
# adding the record ID to the data attribute
best_in_place_if(current_user.admin, trip, :is_active, :as => :checkbox, :class => 'trip_disable', :data => { :id => trip.id })
# accessing the record ID in the success calback
$('.best_in_place.trip_disable').bind("ajax:success",
function(){
alert('Record ID is '+$(this).data('id'));
});
有关详细信息,请参阅 Best in place docs。
我正在使用 best_in_place_if 进行内联编辑。在这里,我想使用 best_in_place.
的 ajax 成功事件来捕获编辑的当前元素的 id下面是我尝试添加 id 属性的代码片段。但是当我检查 html 时,id 属性的值是由 bes_in_place 生成的默认值。根据他们的文档,它提到可以通过提供我们自己的值来更改默认值。
id 属性的默认值显示为 id="best_in_place_trip_32_is_active" 而我想要的只是 id=32
best_in_place_if(current_user.admin,trip,:is_active, :type => :checkbox, :classes => 'trip_disable', :id => trip.id)
请让我知道我缺少什么。
首先,您不应尝试为元素使用纯数字 ID 属性,这 violates the HTML specs。
然后,要在成功回调中访问当前编辑记录的id
,您可以将记录id
添加到数据属性 .这样的事情应该有效:
# adding the record ID to the data attribute
best_in_place_if(current_user.admin, trip, :is_active, :as => :checkbox, :class => 'trip_disable', :data => { :id => trip.id })
# accessing the record ID in the success calback
$('.best_in_place.trip_disable').bind("ajax:success",
function(){
alert('Record ID is '+$(this).data('id'));
});
有关详细信息,请参阅 Best in place docs。