启动rails服务器时出现以下错误:
$ rails server
/Users/ssmith/.rvm/gems/ruby-1.9.2-p0/gems/mysql2-0.2.6/lib/mysql2.rb:7:in `require': dlopen(/Users/ssmith/.rvm/gems/ruby-1.9.2-p0/gems/mysql2-0.2.6/lib/mysql2/mysql2.bundle, 9): Library not loaded: libmysqlclient.16.dylib (LoadError)
Referenced from: /Users/ssmith/.rvm/gems/ruby-1.9.2-p0/gems/mysql2- 0.2.6/lib/mysql2/mysql2.bundle
Reason: image not found - /Users/ssmith/.rvm/gems/ruby-1.9.2-p0/gems/mysql2-
0.2.6/lib/mysql2/mysql2.bundle
Run Code Online (Sandbox Code Playgroud)
在rvm使用ruby-1.9.2-p0命令后,我用以下命令安装了mysql2:
$ gem install mysql2 -- --with-mysql-dir=/usr/local/mysql --with-mysql-config=/usr/local/mysql/bin/mysql_config
Building native extensions. This could take a while...
Successfully installed mysql2-0.2.6
1 gem installed
Installing ri documentation for mysql2-0.2.6...
Enclosing class/module 'mMysql2' for class Client not known
Installing RDoc documentation for mysql2-0.2.6...
Enclosing class/module 'mMysql2' for class Client not known
Run Code Online (Sandbox Code Playgroud)
我的Gemfile以及database.yml文件中都有mysql2,bundle install就可以了
$ bundle show mysql2
/Users/ssmith/.rvm/gems/ruby-1.9.2-p0/gems/mysql2-0.2.6
Run Code Online (Sandbox Code Playgroud)
我理解rails服务器错误是由于它不知道OSX上的mysql_config位置,但是在gem …
好的,所以我想我已经理解了关系规范如何在rails中工作但是我已经在这一天中苦苦挣扎了一天.
在某些情况下,我有两个模型汽车和型号名称(例如Impala,Charger等),其中Cars是模型名称的实例,而模型名称实际上只不过是模型名称和其他一些模型级别属性的查找表.模型名称控制器嵌套在管理员命名空间内,因为只有管理员可以使用CRUD模型名称.最终用户可以将汽车实例添加到Cars模型中.
所以,在routes.rb我有:
resources :cars
namespace :admin do resources :model_names end
Run Code Online (Sandbox Code Playgroud)
模型定义为:
class Admin::ModelName < ActiveRecord::Base
end
class Car < ActiveRecord::Base
belongs_to :admin_model_name
end
Run Code Online (Sandbox Code Playgroud)
迁移是:
class CreateCars < ActiveRecord::Migration
def self.up
create_table :cars do |t|
t.string :chassis_number
t.string :description
t.references :admin_model_name
t.timestamps
end
end
class CreateAdminModelNames < ActiveRecord::Migration
def self.up
create_table :admin_model_names do |t|
t.string :model
t.integer :sort_index
#...additional attributes removed
t.timestamps
end
Run Code Online (Sandbox Code Playgroud)
ModelName的管理员CRUD都很棒.问题出在汽车视图中.我想我应该引用一个特定的汽车模型名称,如:
<%= @car.admin_model_names.Model =>
Run Code Online (Sandbox Code Playgroud)
但我得到错误:
undefined method `admin_model_names' for #<Car:0x000001040e2478>
Run Code Online (Sandbox Code Playgroud)
我在ModelNames模型上尝试过attr_accessible,但无济于事.正确引用了基础数据.我在汽车和用户之间也有HABTMT关系,所有这些关系都可以很好地引用来自不同实体视图的彼此属性.但是还没能让它发挥作用.是否由于嵌套资源和管理控制继承?
我发现唯一有效的参考方法是:
<%= Admin::ModelName.find(@car.admin_model_name_id).model %>
Run Code Online (Sandbox Code Playgroud)
但这实际上似乎是太多的代码(以及查找费用)来获得该属性.是否有Rails方式?
提前致谢. …
我已成功让 Vapor 应用程序从 Firestore 读取和写入集合和文档,但我现在有一个需要查询的用例。我已遵循 Firestore 查询的文档,并在我的 iOS 客户端中成功使用它们,该客户端使用 iOS Firestore 库而不是 REST API,但在服务器上我一直无法弄清楚如何执行相同的操作询问。Firestore 文档在这方面似乎不完整。
Google 的这个 API 端点工具确实允许我提交查询,但关于如何格式化 RunQuery 端点的请求正文中的字段的文档似乎很少。
有没有人有经验可以分享如何格式化请求正文以使用 REST API 创建格式良好的 Firestore 查询?
FWIW,这篇 Medium 文章对于 REST API 入门来说非常棒,但在更丰富的 Firestore 请求方面就停止了。 https://medium.com/rocket-fuel/getting-started-with-firebase-for-server-side-swift-93c11098702a
我有一个应用程序,它有几个窗口定义为窗口组,其结构符合主场景中的应用程序:
WindowGroup("StandingsView") {
StandingsView()
.environmentObject(appServices)
}
.handlesExternalEvents(matching: Set(arrayLiteral: "StandingsView"))
Run Code Online (Sandbox Code Playgroud)
appServices 需要一些时间来配置,所以我不想在启动时自动恢复窗口。我在用户选择有效、服务完全配置并且用户按下“开始”SwiftUI 按钮时创建窗口:
if let standingsURL = URL(string: "raceStratLiteApp://StandingsView") {
NSWorkspace.shared.open(standingsURL)
}
Run Code Online (Sandbox Code Playgroud)
我尝试关闭 appDelegate 的 applicationShouldTerminate() 中的窗口。我还尝试在 applicationShouldTerminate 中将 isRestorable 设置为 false:
func applicationShouldTerminate(_ sender: NSApplication) -> NSApplication.TerminateReply {
for window in NSApplication.shared.windows {
window.isRestorable = false
}
return .terminateNow
}
Run Code Online (Sandbox Code Playgroud)
还有其他方法不恢复窗口吗?或者更好的是,能够以编程方式将其恢复为之前的大小等,但仅在用户指示“启动”时启动
TIA