jeditable и рельсы 3 - PullRequest
       2

jeditable и рельсы 3

5 голосов
/ 28 июля 2010

Я пытаюсь использовать jeditable с моими приложениями rails 3.Я хотел бы редактировать некоторые поля в строке.На самом деле это работает на моей стороне клиента, но данные не обновляются в моем приложении.

Не могли бы вы взглянуть?Заранее спасибо!

мой взгляд:

<dt>Overview :</dt>
<dd class="edit_textfield" id="<%= @project.id %>" name="overview"><%= @project.overview %></dd>

мой контроллер:

 def update
    project = Project.find(params[:id])
    overview = params[:value]
    project.save
    render :text => params[:value]
  end

мой application.js:

$(".edit_textfield").each( function() {    
      $(this).editable('update', {
            type    :   'textarea',
            cancel  :   'Cancel',
            submit  :   'OK',
            indicator   :   'Saving...',
            tooltip :   'Click to edit...',
            rows        :       10,
            method      :       "put",
            submitdata  :   {id: $(this).attr('id'), name:$(this).attr('name') }
        });
});

Благодаря kschaper, это работает.

Но когда я использую jeditable для 2 полей на своей странице и редактирую их, сохраняется только одно.Rails считает, что второе значение 0

Я думаю, что проблема связана с моим контроллером:

  def update
    @project = Project.find(params[:id])
    @project.name = params[:name] 
    @project.overview = params[:overview]
    @project.save
    respond_to do |format|
      format.js  #{ render :text => params[:value] }

    end
  end

У вас есть подсказка?

Ответы [ 3 ]

2 голосов
/ 28 июля 2010

Является ли обзор атрибутом проекта?Тогда это должно быть

@project.overview = params[:value]
0 голосов
/ 16 декабря 2010

FYI - атрибуты ID должны начинаться с буквы.То, что вы видите, не пройдет проверку.Вам нужно будет добавить в текст некоторые шаблоны в ваших шаблонах, а затем удалить их из файла application.js, прежде чем отправлять их вместе с данными отправки.

0 голосов
/ 28 июля 2010

Я изучаю рельсы не долго, но думаю, что продукт нужен'@'.

Примерно так:

def update
  @project = Project.find(params[:id])
  overview = params[:value]
  @project.save
  render :text => params[:value]
end

Может быть ...

...