Rails的best_in_place宝石,而在标签名称点击(Rails best_in_place

2019-08-05 05:23发布

我使用的最佳替代的宝石 - 这是伟大的。 唯一的是,我希望用户能够不只是点击到位元素最好以编辑,而且标签。 可以说我有这个最佳到位元素:

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

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

谢谢

Answer 1:

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

<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

<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 %>


Answer 2:

这是非常有益的,但小幅回调:你有相关的符号的前缀激活DOM元素(#为ID,类)。

因此,第二个例子是

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


文章来源: Rails best_in_place gem while clicking on the label name