有没有办法让 Best_In_place 管理的对象也成为 link?
Is there anyway to make an object managed by Best_In_place also be a link?
我正在使用Best In Place gem。
这是我对象的一个例子:
<h5><%= best_in_place node, :name, as: :input, activator: "#edit-node-title-#{node.id}" %> <%= link_to "<i class='fa fa-pencil'></i>".html_safe, "#", id: "edit-node-title-#{node.id}" %></h5>
但我想要做的是将 node.name
属性显示为常规 link。
所以 link_to node.name, node
.
如何将两者结合起来?
您可以将 Best in Place
标签包裹在 link_to
标签内:
<h5>
<%= link_to node_path(node) do %><!-- Or whatever path you want to link_to -->
<%= best_in_place node, :name, as: :input, activator: "#edit-node-title-#{node.id}" %>
<% end %>
<%= link_to "#", id: "edit-node-title-#{node.id}" do %>
<i class='fa fa-pencil'></i>
<% end %>
</h5>
我还编辑了你的激活器 link 所以它也是一个块。这是未经测试的,但它应该工作。
使用display_with
选项?它需要一个助手或过程。我更喜欢一个帮手,但为了简洁起见,我用一个过程来展示它:
<%= best_in_place node, :name, as: :input,
activator: "#edit-node-title-#{node.id}"
display_with: proc{|node| link_to node.name, node_path(node) }
%>
<%= link_to "<i class='fa fa-pencil'></i>".html_safe, "#", id: "edit-node-title-#{node.id}" %>
我正在使用Best In Place gem。
这是我对象的一个例子:
<h5><%= best_in_place node, :name, as: :input, activator: "#edit-node-title-#{node.id}" %> <%= link_to "<i class='fa fa-pencil'></i>".html_safe, "#", id: "edit-node-title-#{node.id}" %></h5>
但我想要做的是将 node.name
属性显示为常规 link。
所以 link_to node.name, node
.
如何将两者结合起来?
您可以将 Best in Place
标签包裹在 link_to
标签内:
<h5>
<%= link_to node_path(node) do %><!-- Or whatever path you want to link_to -->
<%= best_in_place node, :name, as: :input, activator: "#edit-node-title-#{node.id}" %>
<% end %>
<%= link_to "#", id: "edit-node-title-#{node.id}" do %>
<i class='fa fa-pencil'></i>
<% end %>
</h5>
我还编辑了你的激活器 link 所以它也是一个块。这是未经测试的,但它应该工作。
使用display_with
选项?它需要一个助手或过程。我更喜欢一个帮手,但为了简洁起见,我用一个过程来展示它:
<%= best_in_place node, :name, as: :input,
activator: "#edit-node-title-#{node.id}"
display_with: proc{|node| link_to node.name, node_path(node) }
%>
<%= link_to "<i class='fa fa-pencil'></i>".html_safe, "#", id: "edit-node-title-#{node.id}" %>