Prototype/Scriptaculous에서 Ruby on Rails 3을 사용하고 있으며 페이지를 다시로드하지 않고 ActiveRecord 값이 변경된 후에 'div'컨텐츠를 업데이트하려고합니다. 은 "edit.html.erb"에서 페이지를 다시로드하지 않고 ActiveRecord 값을 변경 한 후에 'div'콘텐츠를 업데이트하는 방법은 무엇입니까?
나는이 :...
<div id="test_id">
<%= @account.name.to_s %>
</div>
<%= link_to_function("Make test") do |page|
page.replace_html :test_id, @account.name.to_s
end %>
...
을 클릭하기 전에 난 AJAX를 통해의 '@ account.name'값을 업데이트 "테스트 만들기". 그런 다음 "테스트하기"를 클릭하면 템플릿이 변경되지 않습니다.
이들은 단계 : 나는
- = "test_id" '는 변경되지 않습니다!
내가 뭘 잘못하고 있니?
P .: 나는 그의 값이 데이터베이스에서 변경된 경우 @account가 페이지에 다시로드되지 않는다고 생각합니다. 그렇다면 무엇을해야합니까?
은 내가 Railscasts "AJAX with RJS"을 보았다 나는 그의 예를 다음에 (그것은 내 같다),하지만 나를 위해 작동하지 않습니다.
해당 값을 사용하는 페이지 부분을 새로 고치는 방법은 무엇입니까? (내가 올바르게 이해한다면) 나는 당신이 말하는 것을하려고 노력하고 있지만 컨트롤러와 '.js.rjs'파일의 값을 업데이트 할 수는 없습니다. 예를 들어 줄 수 있습니까? 추신 : 다른 정보가 필요한 경우 질문을 업데이트 할 것입니다. – user502052
오늘 밤 더 자세한 답변을 드릴 수 있습니다. 그동안, 내가 제안하는 것은 link_to_function 대신 link_to_remote를 사용하는 것이다. link_to_remote 메소드는 서버 (ajax)를 호출합니다. link_to_remote로 호출하는 컨트롤러 동작에서 데이터베이스의 계정을 @account로로드 한 다음 내 대답에 '렌더링'코드를 사용합니다. 희망이 도움이됩니다. –