使用Best In Place gem,如何在适当的位置编辑链接?

时间:2012-11-07 21:50:55

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

我有一个名为“item”的对象,它有一个可以链接到任何URL的“标题”。我使用以下代码允许使用Best in Place gem编辑标题。编辑部分工作正常,但是当从输入框中移除焦点时,链接将丢失。

         <%= best_in_place item, :title, 
                              :display_with => :link_to, 
                              :activator => "#edit-#{item.id}",
                              :helper_options => item.url  %>

我感觉我没有正确设置“helper_options”的值。

如何编辑上面的代码,以便在用户更改标题后使用更新的文本恢复链接?我无法在Best in Place github site或其他任何地方找到此示例。

1 个答案:

答案 0 :(得分:7)

迟到的答案,但你永远不知道谁会有类似的东西?对于你的情况,我认为你想要一个块:

<%= link_to(item.url) do %>
   <span><%= best_in_place item, :title, 
     :activator => "#edit-#{item.id}" %>
   </span> 
<% end %>

这假设您要编辑标题,而不是链接的URL。

要编辑链接但使用标题作为链接主体,您可以在display_with

中使用lambda
= best_in_place item, 
  :url, 
  :display_with => lambda { 
    |url| link_to item.title, url
  }

那是haml,我没有测试确切的剪辑,但类似的是在我正在建立的应用程序中工作