Передача переменной от контроллера для просмотра, рельсы - PullRequest
0 голосов
/ 30 августа 2011

У меня есть текстовое поле ввода в моем приложении rails. Когда пользователь вставляет текст и отправляет его, контроллер проверяет таблицу записей по идентификатору, чтобы увидеть, существует ли запись или нет. Если запись не существует, новая запись помещается в таблицу. Если запись существует, она обновляется и содержит новый текстовый ввод.

Прямо сейчас, если пользователь отправляет запись, а затем редактирует и отправляет ее снова без перезагрузки страницы, создается новая запись, когда этого не должно быть. Я заметил, что если создается новая запись, ее идентификатор не будет передан контроллеру, пока страница не будет перезагружена. Это означает, что если кто-то продолжит редактировать текстовую запись и сохранять ее без перезагрузки, новая запись будет добавлена ​​в таблицу для каждого редактирования.

Я хочу, чтобы идентификатор записи передавался клиенту сразу после его создания. Таким образом, если пользователь решил немедленно отредактировать текстовую запись, он будет отправлять идентификатор записи с текстом, таким образом редактируя существующую запись, а не создавая новую.


Это часть кода:

Контроллер:

def edit_description
@msg = ''
@entry = nil
  if params[:entry][:id]==nil || params[:entry][:id]==''
    @entry = Entry.new(params[:entry])
  else
    @entry = Entry.find(params[:entry][:id])
    @entry.title = params[:entry][:title]
    @entry.data = params[:entry][:data]      
  end

if @entry.save
   @msg ='Save Successful'
else
   @msg ='Trouble Saving'    
end   

конец

вид:

<%= form_remote_tag(
            :url=>{:controller=>"details", :action=>"edit_description"}%>
        <p><textarea rows="10" cols="50" name="entry[data]"><%= (h(@entry.data) unless @entry==nil)%></textarea></p>
        <p>
            <input type="hidden" name="entry[id]" value="<%=(@entry.id unless @entry==nil)%>"/> 
            <input type="submit" value="Save"/>
        </p>                            
    </form>     

1 Ответ

0 голосов
/ 30 августа 2011

Разве это не должно быть просто редактирование / обновление с использованием REST?

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...