我需要使用JS
将参数传递给rails控制器:
def page
@select = Firstpage.where( :pid=>params[:par_id])
respond_to do |format|
format.html # page.html.erb
format.json { render json: @select }
end
end
js.coffee
代码:
fetchselect=(val) ->
$.getJSON('firstpages_controller.rb', par_id:val )
$('.homeNav').find('.unactive').click ->
id = $(this).attr('id')
fetchselect(id)
答案 0 :(得分:0)
coffeescript服务器端?如果它被提供给客户端,那么你不应该直接向控制器发出请求 - 相反,你应该提出一个资源请求,rails服务器应该将其解析为正确的控制器。
详细说明:当您在服务器上为客户端生成rails链接时,您可能会对pages_path产生影响,它会生成“http:// base_path / pages”效果的URL。这对于rails来说非常重要 - 用户可以访问的每个对象都具有RESTful表示,或者更简单地说,有一个URL来识别它。资源的JSON表示没有区别 - 要获取JSON,传递给getJSON的url必须以相同的方式进行格式化。就客户而言,“pages_controller”不存在 - 这是他们无法直接访问的背景细节。