在单击标签名称时,使用Rails best_in_place gem

时间:2013-01-01 18:25:55

标签: ruby-on-rails best-in-place

我正在使用最好的宝石 - 这很棒。 唯一的问题是,我希望用户不仅可以点击最佳位置元素来编辑它,还可以点击标签。 让我们说我有这个最好的位置元素:

<b>Open Hours</b>
<%= best_in_place @provider, :open_hours, :type => :select, :collection => Provider::PROVIDERS_HOURS %>

我希望能够点击营业时间以打开编辑元素。有可能吗?

由于

2 个答案:

答案 0 :(得分:5)

对于单个类的实例,您可以简单地

<b id='edit-open-hours'>Open Hours</b>
<%= best_in_place @provider, :open_hours, type: :select, collection: Provider::PROVIDERS_HOURS, activator: '#edit-open-hours' %>

如果您想使用列表视图执行此操作,则需要使用ID

使每个id-identifier唯一
<b id='edit-<%= @provider.id %>'>Open Hours</b>
<%= best_in_place @provider, :open_hours, type: :select, collection: Provider::PROVIDERS_HOURS, activator: '#edit-' + @provider.id.to_s %>

答案 1 :(得分:3)

这非常有用,但只是一个小的修正:你必须在激活器DOM元素前面加上相关的符号(#为id,。为class)。

所以第二个例子是

<%= best_in_place @provider, :open_hours, type: :select, collection: Provider::PROVIDERS_HOURS, activator: '#edit-' + @provider.id.to_s %>