Rails In Place Editing - PullRequest
       3

Rails In Place Editing

0 голосов
/ 30 октября 2010

Я использую rails 3 и пытаюсь использовать плагин in_place_editing:

http://github.com/wanglian/in_place_editing

 # Controller
  class BlogController < ApplicationController
    in_place_edit_for :post, :title
  end

  # View
  <%= in_place_editor_field :post, 'title' %>

Однако я получаю сообщение об ошибке: id для nil, чтоошибочно быть 4 - если вы действительно хотите идентификатор nil, используйте object_id

Я вызываю плагин в моем контроллере photo_album, который имеет атрибут title ...

class PhotoAlbumsController < ApplicationController

  in_place_edit_for :photo_album, :title

В представлении индекса, я делаю следующее:

<% @photoalbums.each do |photoalbum| %>
     <%= in_place_editor_field :photoalbum, 'title' %>
<% end %>

Кто-нибудь понимает это или имеет опыт работы с этим плагином?

Спасибо

Ответы [ 2 ]

0 голосов
/ 07 февраля 2011

Если вам нужно использовать in_place_editor_field в цикле, сделайте что-то вроде этого:

Class Item < AR::Base  
  #attributes like name, price  
end  

<% for some_item in @items %>  
<% @item = some_item %>  
<%= in_place_editor_field :item, :price %>  
<% end %>
0 голосов
/ 30 октября 2010

Ошибка в том, что он пытается обновить заголовок нулевого объекта.Вы должны использовать это вместо

<% @photoalbums.each do |photoalbum| %>
     <%= in_place_editor_field photoalbum, 'title' %>
<% end %>

, если вы видите код плагина, определение метода:

def in_place_editor_field(object, method, tag_options = {}, in_place_editor_options = {})
...