dav*_*son 7 ruby jquery ruby-on-rails getscript ruby-on-rails-3
我有一个jQuery函数,在列表项双击后调用.
应用程序/资产/ Java脚本/瓦/ tile.js
$('#list > li').dblclick(function(){
// styling
$(this).toggleClass('liked');
// pass ID to controller
var movie_id = $(this).attr("data-id");
$.getScript("/likes.js");
});
Run Code Online (Sandbox Code Playgroud)
在将一些新格式应用于所述项目之后,我的主要目标是从我的like控制器创建数据库条目.在这个Railscast中,index来自comments控制器的动作通过这个简单的行被调用.
$.getScript("/comments.js");
Run Code Online (Sandbox Code Playgroud)
另外,一些JavaScript从index.js.erb文件中调用.
理解Railscasts示例代码的第一个问题是它们如何定义动作.如果我想createLike从我的电话中调出这个动作likes_controller怎么称呼它?
其次,到目前为止我的尝试都失败了,因为JavaScript文件都没有加载,并且动作也没有被调用.
不知何故,我感觉到我已经搞砸了路径.我应该在哪里找到应该使用该getScript函数调用的JavaScript文件?
应用程序/资产/ JavaScript的/喜欢/ index.js.erb的
console.log("Test");
Run Code Online (Sandbox Code Playgroud)
应用程序/控制器/ likes_controller.rb
class LikesController < ApplicationController
protect_from_forgery
def index
Like.create(:user_id => current_user.id, :item_id => params[:id])
end
end
Run Code Online (Sandbox Code Playgroud)
小智 3
我相信执行问题可以通过将index.js.erb从
应用程序/资产/javascripts/likes/index.js.erb
到
应用程序/视图/喜欢
这是 Rails 寻找要渲染的模板的地方(您的脚本不应由资源管道提供服务)。Rails 通过约定解决了这个问题 - 您的应用程序会自动将 /likes 路由到索引操作。
如果您想要信息更丰富的路线,请使用Rails 路线指南生成新路线并将其与 Likes 控制器中的 create_likes 操作相匹配。然后, $.getScript("/create_likes.js") 就会知道去哪里看
| 归档时间: |
|
| 查看次数: |
3153 次 |
| 最近记录: |