嘿大家我在设置应用时遇到问题。它使用shopify API,基本上它所做的是通过视图获取一些数据并将其发送到控制器,但是我将问题传递给控制器中的另一个方法以使用API来保存数据。
这是我的代码:
控制器
class BuilderController < ShopifyApp::AuthenticatedController
def index
urlval = request.fullpath
@urlCheck = urlval.split('/').last
end
def show
url = request.fullpath
@urlID = url.split('/').last
@customers = ShopifyAPI::Customer.search(query: "id:"+ @urlID)
#need to get a way to retrieve the ajax call info here to pass into the update
end
def updateCustomer(notes)
@customers.each do |cus|
cus.note = notes
cus.save()
end
end
def new
notes = params[:notes]
updateCustomer(notes)
render json: notes
end
end
查看
<button id="test">TEST</button>
<script>
var butt = document.getElementById('test');
butt.addEventListener("click",function(){
$.ajax({
url: "/builder/new",
type: "GET",
data: {
"notes": [
"test",
"test2"
]
},
success: function(data,text,xhr) {
console.log(text);
console.log(xhr);
console.log(data);
alert('successfully');
},
error: function(data,error){
console.log(data);
console.log(error);
alert("help");
}
});
});
</script>
答案 0 :(得分:0)
而不是一个完全独立的方法,你有没有看过 respond_to方法? http://api.rubyonrails.org/classes/ActionController/MimeResponds.html#method-i-respond_to
你可以这样做(假设html是主要的请求类型,如果不是则改变):
def index
respond_to do |format|
format.html { actions }
format.json { actions }
end
end
这是我们用于在同一操作中容纳不同请求类型的方法。如果我误解了你的问题,请告诉我。
答案 1 :(得分:0)
你可以用这个
update_all(更新)公开 更新所有记录,并提供详细信息 它们匹配一组提供的条件,限制和顺序也可以 提供。此方法构造单个SQL UPDATE语句和 将其直接发送到数据库。它没有实例化 涉及的模型,它不会触发Active Record回调或 验证。 http://apidock.com/rails/v4.0.2/ActiveRecord/Relation/update_all
def new
notes = params[:notes]
@customer.update_all({note: notes})
respond_to do |format|
format.html {}
format.json { json: @customer.json }
end
end