我有一个查询API的函数,然后根据结果填充对象数组(参见下面的代码).从检索到的JSON中我可以使用guard语句来捕获任何错误,这意味着如果数据丢失则会被捕获,但是如果URL不正确或者函数无法连接到URL,则会导致应用程序崩溃
let task = URLSession.shared.dataTask(with: request) { (data: Data?, response: URLResponse?, error: Error?) in
Run Code Online (Sandbox Code Playgroud)
并给出以下错误消息
2018-01-27 23:11:28.759466+0000 myPregnancy[6321:224887] TIC Read Status [1:0x6040001729c0]: 1:57
2018-01-27 23:11:28.759940+0000 myPregnancy[6321:224887] Task <05716AF1-B1E0-4EB8-ADC7-138C026C58AC>.<1> HTTP load failed (error code: -1005 [4:-4])
2018-01-27 23:11:28.760813+0000 myPregnancy[6321:224886] Task <05716AF1-B1E0-4EB8-ADC7-138C026C58AC>.<1> finished with error - code: -1005
Run Code Online (Sandbox Code Playgroud)
如何使用guard来捕获此错误并返回类似于我处理丢失数据的错误消息?
func loadMedication(){
print("Getting medication")
self.medication.removeAll()
let myUrl = URL(string: "URL HIDDEN");
var request = URLRequest(url:myUrl!)
request.httpMethod = "POST"// Compose a query string
let postString = "userToken=" + User.user.getUserId();
request.httpBody = postString.data(using: String.Encoding.utf8);
let …Run Code Online (Sandbox Code Playgroud) 首先,我意识到这个问题之前已经被问过多次,但是我看到的所有答案都对我不起作用。
我已经使用 bootstrap gem 将 bootstrap 添加到我的 Rails 应用程序中,或者至少我认为我有。bootstrap 的 css 和样式都在那里并且可以工作,但是缺少 javascript 功能
我对 Rails 相当陌生,所以我可能错过了一些非常明显的东西,我在下面附上了我认为相关的文件。
我有以下文件,任何建议或帮助将不胜感激
宝石文件
source 'https://rubygems.org'
ruby '2.7.0'
# Bundle edge Rails instead: gem 'rails', github: 'rails/rails'
gem 'rails', '~> 6.0.2', '>= 6.0.2.1'
# Use sqlite3 as the database for Active Record
gem 'sqlite3', '~> 1.4'
# Use Puma as the app server
gem 'puma', '~> 4.1'
# Use SCSS for stylesheets
gem 'sass-rails', '>= 6'
# Transpile app-like JavaScript. Read more: https://github.com/rails/webpacker
gem 'webpacker', …Run Code Online (Sandbox Code Playgroud) 我有以下文件来更新用户详细信息。它们目前适用于除密码之外的所有内容。所有的逻辑都正常工作,我曾经puts检查过是否输入了正确的逻辑部分,但是似乎密码在最后@user.update(user_params)被调用时永远不会更新。
为了让它工作,我必须将下面的 2 行添加到 UserController 的密码逻辑中,这似乎不合逻辑,因为我@user.update(user_params)进一步调用应该使用提供的用户参数更新用户。任何建议、建议或意见将不胜感激。
@user.password = params[:user][:password]
@user.save
Run Code Online (Sandbox Code Playgroud)
我没有使用任何 Gems 等进行身份验证,我的用户表如下所示
create_table "users", force: :cascade do |t|
t.string "username"
t.string "password_digest"
t.datetime "created_at", precision: 6, null: false
t.datetime "updated_at", precision: 6, null: false
t.string "title"
t.string "firstName"
t.string "surname"
t.index ["username"], name: "index_users_on_username", unique: true
end
Run Code Online (Sandbox Code Playgroud)
用户控制器
class UsersController < ApplicationController
skip_before_action :authorized, only: [:new, :create]
before_action :set_user, only: [:update]
def new
@user = User.new
end
def create
@user = User.create(params.require(:user).permit(:username, :password)) …Run Code Online (Sandbox Code Playgroud)