3

我有一个名为“item”的对象,它有一个可以链接到任何 URL 的“title”。我使用以下代码允许使用 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 站点或其他任何地方都找不到这样的例子。

4

1 回答 1

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,我没有测试确切的片段,但类似的正在我正在构建的应用程序中工作

于 2013-03-25T21:55:50.697 回答