我有一个简单的友谊模型,允许用户互相连接:
class Friendship < ActiveRecord::Base
belongs_to :sender, class_name: "User"
belongs_to :receiver, class_name: "User"
end
在用户模型中,我定义了此方法:
def self.create_friendship(receiver)
Friendship.create(sender_id: current_user.id, receiver_id: receiver)
end
我的用户索引视图有这个简单的Javascript:
<script>
$("#searchbutton").click(function(){
var tod = $("#timeofday").val()
console.log(tod);
var dow = $("#dayofweek").val()
console.log(dow);
queries = {'time': tod , 'day': dow }
$("#myselect").html("");
$.ajax({
url:'/users.json',
type:'GET',
data: {search: queries},
dataType: 'json',
success: function( json ) {
//console.debug(json)
$.each(json.users, function(index, value) {
$('#myselect').append($('<option>').text(value.name).attr('value', value.id));
});
}
});
})
$('#addbutton').click(function(){
var x = $("#myselect").val()
receiver = {}
})
</script>
令我困惑的是格式化要插入User创建方法的JSON数据的最佳方法。任何帮助表示赞赏。
答案 0 :(得分:0)
我认为最好的方法是使用带有remote:true的表单标签。它们可以自动格式化数据。更重要的是,默认情况下,Rails会检查非GET查询中的csrf_token,并且表单标记会自动包含该令牌。
要处理对不同事件的表单反应,您可以使用UJS:list of events fired on form。