如何将params从JS传递给rails3控制器

时间:2012-09-06 21:30:49

标签: javascript ruby-on-rails-3 jquery

这是我的JS.coffee代码:

fetchselect =(val) ->
 $.ajax(url: '/firstpages/page', dataType: 'json', par_id: val )

$('.homeNav').find('.unactive').click ->
 id = $(this).attr('id')
 fetchselect(id)

这是我的控制器代码:

def page
@select = Firstpage.where(:pid=>params[:par_id])

 respond_to do |format|
   format.html # page.html.erb
   format.js { render :layout => false }
   format.json { render :json => @select }
end

端 它无法将参数传递给@select,当我点击$('。homeNav')时,日志告诉我:

在2012-09-07 05:27:07 +0800开始获取127.0.0.1的GET“/ firstpages / page” 由FirstpagesController #page处理为JSON   第一页加载(0.2ms)SELECT“firstpages”。* FROM“firstpages”WHERE“firstpages”。“pid”IS NULL 2ms完成200 OK(浏览次数:0.1ms | ActiveRecord:0.2ms)

1 个答案:

答案 0 :(得分:0)

看起来问题出在实际的ajax请求中。尝试:

$.ajax({
  type: "POST",
  url: '/firstpages/page',
  dataType: 'json',
  data: {par_id : val})
})

有关更多示例,请查看jQuery $.ajax documentation