安德鲁柳。我不知道动态模型是什么意思。我讲了如何使用另一个模型名称来使用 jcrop。
update: (coords) =>
$('#user_crop_x').val(coords.x)
$('#user_crop_y').val(coords.y)
$('#user_crop_w').val(coords.w)
$('#user_crop_h').val(coords.h)
@updatePreview(coords)
#user_crop_x
来自这种形式:
= form_for MODEL, url: CROP_URL, method: :patch, html:{id: "jcrop_form"} do |f|
- %w[x y w h].each do |attribute|
= f.hidden_field "crop_#{attribute}"
.form-actions
= f.submit t(".crop"), class: 'btn btn-primary'
它会默认在 rails 的 hidden_field 中生成许多 id form_for
。就像#user_crop_x
等等#user_crop_y
。
默认 id 是一个特定的规则 what is ##{model_name}_{attribute_name}
,所以如果你有dynamic model
并且最好的方法是在 hidden_field 中设置类名。例子:
= f.hidden_field "crop_#{attribute}", class: "crop_class_#{attribute}"
并将 jQuery 代码设置为:
update: (coords) =>
$('.crop_class_x').val(coords.x)
$('.crop_class_y').val(coords.y)
$('.crop_class_w').val(coords.w)
$('.crop_class_h').val(coords.h)
@updatePreview(coords)