2014-03-07 130 views
-1

我想从当前使用jQuery呈现视图。我为我的项目使用flexigrid,我想为信息按钮编码。查看不渲染

这是我的看法。使用jquery我打电话给以下,

var name = $('.trSelected .sorted div').html(); 
$.post("/contacts/display_info/", {file_as : name}); 

我的控制器是以下。也尝试过调试。

def display_info 
     @contact = Contacts.find_by_file_as(params[:file_as]) 
     puts "---------------" 
     puts @contact.id 
     puts "---------------" 
     render(:action => 'display_info' , :id => @contact.id) 
    end 

这里是我的控制台:

enter image description here

无法弄清楚是什么问题。请帮忙!

+0

为什么你不使用'redirect_to contact_path(@contact)'而不是'render(:action =>'contacts',:id => @ contact.id)' – rony36

+0

@ rony36它仍然显示'500 internal服务器错误'。 –

+0

有没有“接触”行为的任何看法? – rony36

回答

0
  1. 如果你正在做一个ajax请求,它应该最好是JSON
  2. 对于Json,检查联系人文件夹中名为contacts.json.erb的文件。
  3. 您可以尝试使用远比ajax/json请求更真实,更干净和更好的选项。

检查:http://railscasts.com/episodes/205-unobtrusive-javascript

尝试在你的控制器将

respond_to do |format| 
    format.html 
    format.json { render :json=> {:success => true, :id => @contact.id } } 
end 

这样的事情。

+0

的WEB BROWSER..kind没有没有什么JSON的那个文件夹中。 –

+0

@FredoCorleone wat如果你在URL中输入网址,你会发生? –

+0

@sahil你可以详细说明一下吗?也许正确我的代码? 它必须通过jquery,因为我使用flexigrid –

0

layout,请加:

<%= csrf_meta_tag %> 

而当你posting确保您发送:

"authenticity_token": "<%= form_authenticity_token %>" 

更具体:

$(document).ajaxSend(function(e, xhr, options) { 
    var token = $("meta[name='csrf-token']").attr("content"); 
    xhr.setRequestHeader("X-CSRF-Token", token); 
}); 

感谢。

+0

的WEB BROWSER..kind我已经在“头部”有<%= csrf_meta_tag%>。我无法弄清楚添加第二行的地方。帮帮我。 –

+0

好的,请提供你如何“发布”的代码。 – rony36

+0

我在帖子中提到过它。 –

0

问题是,你正在做一个Ajax请求,但你没有做任何事情。你需要一个回调来捕获请求的响应,并以某种方式处理它。

喜欢的东西:

$.post("/contacts/display_info/", {file_as : name}, function(data) { 
    // `data` will be the HTML returned by the server 

    // If for example you want to render this HTML on your page, you may want something like: 
    $('#my_fancy_div').html(data); 
}); 

你也想改变你的控制器动作要render layout: false,假设你只想呈现在视图中的HTML,而不是周围的应用布局。

+0

我想将控件移动到'/ contacts/display_info/name_of_the_contact'。我怎么做。我很抱歉,如果我的问题是错的,但可以做到没有Ajax? –

+0

我不知道你想怎么办呢... – sevenseacat

+0

@sevenseacat他说它呈现在轨控制台什么,但它不是要去通奇怪 –