0
這可能是一個非常簡單的問題。我是Rails的新手,並且很難弄清楚我確定的事情是微不足道的。我有一個簡單的link_to「顯示」,它很偏遠,效果很好。但是,一旦我點擊一個遠程鏈接,並顯示內容/從我的部分我似乎無法通過再次點擊另一個鏈接更新該內容。我的服務器日誌顯示正在進行的調用,所以我相信在回調中我一定會出錯。也許這與我的部分內容有關:本地人的任務。更好地瞭解這裏是我的代碼...Rails 3.0.x AJAX問題
的application.js
$(function() {
$("#showreqs a").live("click", function() {
$.getScript(this.href);
return false;
});
});
_showreq.html.erb(很簡單的證明概念)
<%= @project.name %>
show.js.erb
$("#showreq").replaceWith("<%= escape_javascript(render :partial => 'showreq', :locals => { :project => @project}) %>")
projects.html.erb(僅限重要部分)
<div id="showreqs">
<%= form_for(@project) do |f| %>
<%= render 'shared/error_messages' %>
<p>
Name: <%= f.text_field :name %>
Owner: <%= f.select :user_id, options_from_collection_for_select(@users, 'id', 'name'), :class => 'genForm_dropBox' %>
<%= f.submit "Create Project" %>
</p>
<% end %>
<ol>
<% @projects.each do |t| %>
<li>
<%= t.name %> - Owner: <%= t.user.name %> -
<%= link_to "Show", t, :action => "show", :remote => true %>
|
<%= link_to "delete", t, :method => :delete, :confirm => "You sure?", :title => "Delete" %>
</li>
<% end %>
</ol>
</div>
projectscontroller(非常醜陋,將清理)
class ProjectsController < ApplicationController
def index
@title = "Requirements"
@users = User.order("created_at").all
@project = Project.new
@projects = Project.all
end
def show
@users = User.order("created_at").all
@project = Project.find(params[:id])
@projects = Project.all
end
def create
@project = Project.new(params[:project])
if (defined?(@project_e)).nil?
@project_e = Project.new(params[:project])
end
if @project.save
flash[:success] = "Successfully created a Project."
redirect_to projects_path
else
flash[:error] = "You made some errors"
redirect_to projects_path
end
end
def update
@project = Project.find(params[:id])
if @user.update_attributes(params[:user])
flash[:success] = "Project updated."
redirect_to projects_path
else
flash[:error] = "You made some errors"
redirect_to projects_path
end
end
def destroy
Project.find(params[:id]).destroy
flash[:success] = "Project destroyed."
redirect_to projects_path
end
end
如果您需要任何其他代碼,如路線讓我知道,但我認爲我的路線和一切是罰款,因爲這樣做作品時,「秀」首先點擊鏈接。
外面是#showreq ID被覆蓋,你可以顯示showreq部分? 'replaceWith'將替換整個節點,如果#showreq元素在局部之外,它將被覆蓋並在第一次加載後不再存在。 – numbers1311407
showreq部分是_mypartial.html.erb編輯它現在更清楚。 OOOhhhhhhh所以你說我基本上取代了我傾向於重複使用的容器。這是有道理的讓我確定。對不起,麻煩你,我只是在學習,結果證明我犯了一個非導軌錯誤。再次感謝 – Maurycy
我用.html替換了.replaceWith,它工作正常。謝謝!我希望我能給你一個複選標記。 – Maurycy