Rails 在线编辑

Rails In line edit

如何在索引页中编辑以下内容?我希望能够内联编辑和更新以下视图具有索引操作

<% @request.each do |s| %>
  <%= s.message %>
  <%= s.date %>
<% end %> 

尝试了 gem 最好的方法,但我似乎没有用,所以每当我尝试时 <%= best_in_place @request, :message %> 它抛出未知方法的错误:message。这个<%= best_in_place @request, :message %>和这个<%= s.message %>不一样吗

在 rails 版本 5.1.4 中最佳就地工作是否有效?我怎样才能使内联编辑工作?

Does best in place work in rails version 5.1.4 and how can I make the inline edit to work ?

是的,它有效,您需要 jQuery 并添加 gem 和 JS 库。

对于jQuery:

$ yarn add jquery

然后在您的 application.js 文件中:

//= require jquery

对于best_in_place,在Gemfile中添加gem:

gem 'best_in_place', '~> 3.0.1'

然后你的 application.js 文件中的库:

//= require jquery
//= require best_in_place
...

$(document).ready(function() {
  /* Activating Best In Place */
  jQuery(".best_in_place").best_in_place();
});

您在 jquery 之后看到 best_in_place js,并且在同一文件中进行初始化 - 您必须添加 //= require_tree . 以便在同一文件中进行初始化。

然后在你的视图中你需要传递对象和属性:

<% @request.each do |request| %>
  <%= best_in_place request, :message %>
  ...
<% end %>