我有一个模型,我有一个视图,显示一个基于该模型创建新对象的表单.我们称之为那种形式Form1.
用户提交后Form1,将创建该对象.然后,我想在下一页上显示第二个表单Form2,该表单要求用户在将对象保存到数据库之前检查各种选项.
我的问题可能非常基本.我不知道如何创建Form2,因为它不直接与模型绑定.因为我是Rails新手,所以我只创建了以下表格:
form_for(@object) { |f| ... }
Run Code Online (Sandbox Code Playgroud)
@object 是从模型实例化的对象
问题:我不相信这种代码在我的目的下会起作用.我如何创造Form2,因为它不能基于@object或@object模型?
我的应用程序中的一些细节:
Form1在重定向到OAuth服务器之前,站点接受values().
当用户在OAuth服务器上验证其凭据时,她将被重定向回我的站点.一个XML-RPC请求,然后获取关于用户的账户上的信息OAuth服务器.
该XML响应可能表明用户只有一个帐户上的OAuth服务器.如果是这样,则从中检索一些值XML并将其添加到对象中 - 然后(最终)将其保存在数据库中 - 并将用户重定向到成功页面.
但是,如果XML响应表明用户在OAuth服务器上有多个帐户,我想显示一个表单(Form2),允许用户选择OAuth服务器上与我的站点关联的帐户.因此,Form2确实要求用户创建多少对象,而不是关于对象的特定属性.
假设我有一个ID为com.StackOverflowExample.MyQuestion的Cordova应用程序,我使用CLI(cordova create)创建了Cordova 3 .我为我的应用添加了iOS和Android平台,并已将应用程序提交给Apple和Google Play.但是,现在,在将我的应用程序提交到Play之后,我似乎错误地将密码存放在我用来签署APK文件的密钥库中.我已经尝试了一切,我无法恢复它.
由于Google Play不允许我使用与之前由不同密钥库签名的APK相同的应用ID来签署提交给Play的后续APK,因此我知道我需要创建一个新的应用ID并在Android中重新开始.我意识到这将需要我的用户下载一个新的应用程序,但我现在别无选择.
我想避免的是将此问题溢出到Apple,我已经创建了所有证书,配置文件,密钥,签名请求等,并上传了一个IPA,其捆绑标识符与应用ID相同我提交给Google Play的第一张APK.
默认情况下,在使用CLI时,Cordova会使用您在运行时提供的单个应用程序ID添加您指定的任何平台cordova create.
我想知道的是:是否有可能在运行时cordova platform add在自定义应用ID 下添加新平台,从而使不同的平台在同一个Cordova应用中具有不同的应用ID?
我正在尝试创建一个rails应用程序,它在环境是开发环境时为变量分配一个值,在环境是生产环境时为该变量分配另一个值.我想在我的代码中指定两个值(硬连线),并让rails知道根据运行的环境分配给变量的值.我该怎么做呢?
如果它很重要,我稍后访问该变量并在模型的类方法中返回其值.
我正在使用OAuth-Ruby对Tumblr应用程序进行OAuth身份验证.我能够编写通过OAuth的各个步骤进行的代码,但我无法获得访问令牌或实际发出请求.我可以获取请求密钥,将用户重定向到Tumblr以进行身份验证和授予访问权限,并接收经过身份验证的请求密钥.但我不能比这更远.
我已经注册了我的Tumblr应用程序; 让我们假设这个问题,它为我提供了以下键:
(我有实际的价值观,但由于显而易见的原因,我将它们隐藏在这里.)
我在用户提交表单时运行的控制器中运行以下代码,该表单将信息存储在@tumblog变量中:
#0. provided when registering application
@key = @oauth_consumer_key
@secret = @secret_key
@site = 'http://www.tumblr.com'
@consumer = OAuth::Consumer.new(@key, @secret,
{ :site => @site,
:request_token_path => '/oauth/request_token',
:authorize_path => '/oauth/authorize',
:access_token_path => '/oauth/access_token',
:http_method => :post } )
if @consumer
#1. get a request token
@request_token = @consumer.get_request_token;
session[:request_token] = @request_token
session[:tumblog] = @tumblog
#2. have the user authorize
redirect_to @request_token.authorize_url
else
flash[:error] = "Failed to acquire request token from Tumblr."
render 'new'
end
Run Code Online (Sandbox Code Playgroud)
此代码将我带到Tumblr的正确页面,用户授予或拒绝我的应用程序访问用户帐户的权限.假设用户授予访问权限,Tumblr会重定向回我的应用程序,以及我在使用Tumblr注册应用程序时提供的回调.到那时,一切都很美妙. …
我有三个类:人员,职位和目录.
我希望能够做的是每次我将一个人添加到Directory.people集合时,将数据添加到连接模型,例如标题字段.通常的<<运营商不会削减它.Id est:
directory = Directory.last # Let's assume that retrieves a Directory object
person = Person.last # Let's assume that retrieves a Person object
directory.people << person
Run Code Online (Sandbox Code Playgroud)
这会将人员添加到Directory对象的people集合中,但不允许我有机会将数据分配给连接模型.因此,在对该网站进行了大量研究后,我发现了另一种方法将Person添加到people集合中,并将数据添加到链接Person和Directory的Position,id:
directory = Directory.last # Let's assume that retrieves a Directory object
person = Person.last # Let's assume that retrieves a Person object
position = person.positions.build(:directory_id => directory.id, :title => "Administrative Assistant")
position.save
Run Code Online (Sandbox Code Playgroud)
这很麻烦.同样繁琐的方式是:
directory = Directory.last # Let's assume that retrieves a Directory object
person …Run Code Online (Sandbox Code Playgroud) ruby activerecord ruby-on-rails ruby-on-rails-3 ruby-on-rails-3.2
我有一个单页应用程序,它使用我在 Node.js 上运行的 JavasScript 编写的 API,并使用 MongoDB 进行数据存储。该 API 公开了几种不同的内容类型,每种内容类型都存储在我的 MongoDB 数据库中的单独集合中。我的单页应用程序有一个搜索栏,其中包含一个用于选择内容类型的下拉列表(每个内容类型对应于我的 MongoDB 数据库中的一个不同集合)和一个用于指定将应用的搜索查询的输入字段。
我想要做的是:在我的下拉列表中添加一个名为“全部”的选项,当选择此选项时,我的 API 将返回五个最近创建的文档,无论包含这些文档的集合如何。
因此,举个例子,我可能有以下集合:
我想在我的 API 中编写 JavaScript,返回其中最近的五个。因此,如果用户搜索“G”,我生成的 JSON 响应可能包含每个集合中的多个文档,如下所示:
[
{
"_id": "123",
"name": "Golf,
"collection: "Automobile",
"createdAt": "2014-06-20T01:45:00.0000Z"
},
{
"_id": "234",
"name": Gulfstream",
"collection": "Airplane",
"createdAt": "2014-06-19T01:45:00.0000Z"
},
{
"_id": "345",
"name": "Glastron",
"collection": "Boat",
"createdAt": "2014-06-18T01:45:00.0000Z"
},
{
"_id": "456",
"name": "Gary Fisher",
"collection" "Bicycle",
"createdAt": "2014-06-17T01:45:00.0000Z"
}
{
"_id": "567",
"name": "Grand Prix",
"collection": "Automobile",
"createdAt": …Run Code Online (Sandbox Code Playgroud) 我有一个模型,我们称之为Foobar.我希望能够运行一个cron作业来更新作为Foobar实例的所有对象的属性.所以,在伪代码中,它可能是这样的:
Foobar.all.each do |foobar|
foobar.update_attributes({:my_attribute => 'updated'});
end
Run Code Online (Sandbox Code Playgroud)
现在,假设我将其包装在名为Foobar.run_update()的类方法中.
调用Foobar.run_update()可以从控制器,甚至从视图中正常工作.但是,我想要做的是从Rakefile运行run_update(),以便我可以将它绑定到cron运行.但是,当从Crontab调用Rake时,Foobar类不可用.
我怎么解决这个问题?当从Cron调用Rake时,如何从Rake访问Foobars的类方法?
非常感谢您的帮助.
activerecord ×2
ruby ×2
android ×1
cordova ×1
cordova-3 ×1
google-play ×1
ios ×1
javascript ×1
mongodb ×1
node.js ×1
oauth ×1
oauth-ruby ×1
rake ×1
rakefile ×1
sails.js ×1
tumblr ×1
waterline ×1