我有2个型号:
# user.rb
class User < ActiveRecord::Base
has_one :profile, :dependent => :destroy
end
# profile.rb
class Profile < ActiveRecord::Base
belongs_to :user
validates_presence_of :user
end
# user_factory.rb
Factory.define :user do |u|
u.login "test"
u.association :profile
end
Run Code Online (Sandbox Code Playgroud)
我想做这个:
@user = Factory(:user)
=> #<User id: 88,....>
@user.profile
=> #<Profile id:123, user_id:88, ......>
@user = Factory.build(:user)
=> #<User id: nil,....>
@user.profile
=> #<Profile id:nil, user_id:nil, ......>
Run Code Online (Sandbox Code Playgroud)
但这不起作用!它告诉我,我的个人资料模型不正确,因为没有用户!(它在用户之前保存配置文件,因此没有user_id ...)
我怎样才能解决这个问题?尝试了一切.. :(我需要调用Factory.create(:user)...
UPDATE
修复了这个问题 - 现在正在使用:
# user_factory.rb
Factory.define :user do |u|
u.profile { Factory.build(:profile)}
end …Run Code Online (Sandbox Code Playgroud) testing ruby-on-rails ruby-on-rails-plugins ruby-on-rails-3 factory-bot
当NUL通过管道输出时,以下C文件给出了伪造的结果:
int main()
{
printf("_isatty = %d\n", _isatty(0));
}
Run Code Online (Sandbox Code Playgroud)
结果是:
C:\Users\Edward\Dev\nulltest> test.exe < NUL
_isatty = 64
Run Code Online (Sandbox Code Playgroud)
我很确定NUL(又名/ dev/null)不是终端设备!所以我需要以另一种方式检测文件描述符是否对应于NUL.这个数字没有任何具体含义; 当我确实连接了一个终端时,我看到了它.
我该怎么办?这个问题建议使用粗略的未记录的函数来获取基础名称,可能是将它与NUL进行比较,但这对我来说感觉不太理想.有没有更好的办法?
PS这将有助于解决这个GHC错误.
我相信我们都知道setUp(@Before)将在任何测试方法之前执行,而tearDown(@After)将在测试方法之后执行.
我们也知道Junit将为每个测试方法创建一个Test实例.
我的问题是,我们可以将setUp方法内容移动到类Constructor并删除setUp方法吗?是否有任何特定的理由保持setUp方法?
有人可以通过我对POCO与Entity Framework v4一起使用的理解来确认/纠正我吗?
如果我想在我的EF4上下文中使用POCO,我还需要在designer/.edmx上放置/创建ENTITIES吗?是不是使用POCO的想法,所以我不需要使用那些'重'实体?或者我仍然需要这些实体,只是在其他地方我实际上将数据从实体中移出并进入我的POCO ..这是任何消费代码使用的内容?
我创建了一个自定义背景图像,并希望将其用作高度为wrap_content的布局的背景.但是,该布局内容的总高度远小于背景图像的高度.
当我通过android:background ="@ drawable/image"将它设置为XML 背景时,我注意到它显示了图像的整个高度,尽管实际内容的高度要短得多.
有没有办法阻止这种情况发生?
谢谢.
由于Windows不支持rvm(Ruby版本管理器),我们如何拥有
在同一台电脑上?可以使用虚拟机,但它有点麻烦.
我正在使用Android OS尝试从M3U流式传输.我不明白为什么这在Android上是一个大问题,但出于某种原因它是.M3U结构很简单,它基本上是外部MP3文件的URL列表.但是,当您在浏览器中单击M3U时,它会尝试启动,然后告诉我它是不受支持的文件类型.
MP3被记录为支持的流媒体协议:http: //developer.android.com/guide/appendix/media-formats.html
这在iPhone上完美无瑕.我真的很想相信"Droid确实"(因为他们做广告)并且我不想太讨厌它,但为什么不支持简单的M3U呢?
是否有支持这些必须首先安装的外部应用程序?
感谢任何能够对这一主题有所了解的人.我需要测试的只是当前的模拟器,但我的设备朋友可以确认这不起作用.
是否可以编辑iPhone模拟器的主机文件?
我正在开发REST API,我需要能够使用正确的域访问我的本地站点(例如http://api.local.com)
我已从备份恢复了git repo,但它没有正确的文件权限.是否足以在.git中的所有文件和目录上设置所有者+ rw,还是更微妙?
是否有实用程序来检查或重置.git文件权限?
我尝试将网格视图添加到自定义对话框.显示对话框时,它会崩溃.
但是当尝试在正常活动中显示网格视图时它正在工作.(没有对话框)
我从开发人员android网站上获取了示例.勾选网格视图并尝试集成到自定义对话框中.
我使用了两个xml main.xml和category.xml.
这是我的代码:
package com.android.test;
import android.app.Activity;
import android.app.AlertDialog;
import android.app.Dialog;
import android.content.Context;
import android.os.Bundle;
import android.view.LayoutInflater;
import android.view.View;
import android.view.ViewGroup;
import android.view.View.OnClickListener;
import android.widget.AdapterView;
import android.widget.BaseAdapter;
import android.widget.Button;
import android.widget.GridView;
import android.widget.ImageView;
import android.widget.TextView;
import android.widget.Toast;
import android.widget.AdapterView.OnItemClickListener;
public class test extends Activity {
/** Called when the activity is first created. */
public final static int CATEGORY_ID=0;
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.main);
Button button = (Button)findViewById(R.id.categories);
button.setOnClickListener(new Button.OnClickListener(){
public void onClick(View v) { …Run Code Online (Sandbox Code Playgroud)