我需要为Car和Store创建一个名为CarStoreTracker的连接模型,它们彼此之间有很多.
class Car < ActiveRecord::Base
has_many :carstoretrackers # It seems to work
has_many :stores, :through => :carstoretrackers # I bet the naming is not being recognized by Rails convention
end
class Store < ActiveRecord::Base
has_many :carstoretrackers # It seems to work
has_many :cars, :through => :carstoretrackers # Same issue
end
class CarStoreTracker < ActiveRecord::Base
belongs_to :store
belongs_to :car
end
Run Code Online (Sandbox Code Playgroud)
CarStoreTracker有
car_id and store_id on its table.
Run Code Online (Sandbox Code Playgroud)
当我跑:
> CarStoreTracker.first.car
> CarStoreTracker.first.store
Run Code Online (Sandbox Code Playgroud)
他们都工作.
但
Store.first.cars Car.first.stores Store.carstoretrackers Car.carstoretrackers
他们没有工作.NameError:未初始化的常量"CURRENTMODEL":: Carproducttracker
所以,我取消了CarProductTracker,我只使用了Tracker这个名称来模型,一切正常. …
ruby model ruby-on-rails naming-conventions has-many-through
鉴于以下代码,
你会如何重构这个,以便方法search_word可以访问issueid?
我会说改变函数search_word使得它接受3个参数或者使issueid成为实例变量(@issueid)可以被视为不良实践的一个例子,但老实说我找不到任何其他解决方案.如果除此之外没有其他解决方案,您是否介意解释为什么没有其他解决方案?
请记住它是Ruby on Rails模型.
def search_type_of_relation_in_text(issueid, type_of_causality)
relation_ocurrences = Array.new
keywords_list = {
:C => ['cause', 'causes'],
:I => ['prevent', 'inhibitors'],
:P => ['type','supersets'],
:E => ['effect', 'effects'],
:R => ['reduce', 'inhibited'],
:S => ['example', 'subsets']
}[type_of_causality.to_sym]
for keyword in keywords_list
relation_ocurrences + search_word(keyword, relation_type)
end
return relation_ocurrences
end
def search_word(keyword, relation_type)
relation_ocurrences = Array.new
@buffer.search('//p[text()*= "'+keyword+'"]/a').each { |relation|
relation_suggestion_url = 'http://en.wikipedia.org'+relation.attributes['href']
relation_suggestion_title = URI.unescape(relation.attributes['href'].gsub("_" , " ").gsub(/[\w\W]*\/wiki\//, ""))
if not @current_suggested[relation_type].include?(relation_suggestion_url)
if @accepted[relation_type].include?(relation_suggestion_url)
relation_ocurrences << {:title => …Run Code Online (Sandbox Code Playgroud) models.py:
class Users(models.Model):
username = models.CharField(max_length=255)
slug = models.CharField(max_length=255, default='0')
password = models.CharField(max_length=300)
password_token = models.CharField(max_length=300, default='0')
email = models.CharField(max_length=255)
email_verified = models.BooleanField(default=False)
email_token = models.CharField(max_length=255)
email_token_expiry = models.DateTimeField()
tos = models.BooleanField(default=False)
active = models.BooleanField(default=False)
last_login = models.DateTimeField(auto_now_add=True)
last_action = models.DateTimeField(auto_now_add=True)
is_admin = models.BooleanField(default=False)
role = models.CharField(max_length=255, default='0')
created = models.DateTimeField(auto_now_add=True)
modified = models.DateTimeField(auto_now_add=True)
def __unicode__(self):
return self.username
class UsersModelForm(forms.ModelForm):
passwordrepeat = forms.PasswordInput()
class Meta:
model = Users
fields = ('username', 'password', 'email')
widgets = {
'password' : forms.PasswordInput(),
} …Run Code Online (Sandbox Code Playgroud) 我已经在食谱中读到了这个"技巧":http://book.cakephp.org/2.0/en/models/model-attributes.html#usetable
现在我想为我的模型构建一个自定义模式,但是没有这个数组的格式.例如,我不知道我应该为bool类型添加什么:"boolean"或"bool"?
如果我想在使用$ this-> Form-> input时获得"选择框",我应该放什么类型?我应该创建一个hasMany关系(有2个无表格模型)吗?
假设有一个控制器(让我们称之为"main")和一个执行一堆(10)功能的相关模型.
我想知道加载第二个模型以执行一个主模型中不存在的函数的相关开销,而不仅仅是在主模型中添加该函数(复制代码).
加载第二个模型的优点是代码更少/更容易维护.
缺点是加载第二个模型的开销.
我对开销的担心是否有效?我是非CS人,只是想知道这里最好的做法是什么.
谢谢,蒂姆
我有这个代码从foreach循环创建一个列表membershipuser..
public List<UsersModels> _users;
MembershipUserCollection iduser = Membership.GetAllUsers();
foreach (MembershipUser member in iduser)
{
UsersModels usmodel = new UsersModels();
usmodel.Username = member.UserName;
usmodel.Email = member.Email;
usmodel.LastLoginDate = member.LastLoginDate;
usmodel.LastActivityDate = member.LastActivityDate;
_users.Add(usmodel); // BREAKPOINT
}
Run Code Online (Sandbox Code Playgroud)
当我在底部放置一个断点时,我可以看到所有数据都没问题,但是在添加了对象(另一个对象到列表)后,它告诉:
你调用的对象是空的.
这是断点,显示数据显然是正常的
http://i.imgbox.com/aafDt7MJ.png
谁能告诉我什么可能是错的?我不明白为什么usmodel对象的数据显然没问题,但无法将其添加到显示上述错误的列表中.
谢谢.
我在过去的几个小时里一直在做很多研究,我似乎无法弄清楚如何获取和设置Inport框的值.我有一个简单的模型,有一个inport和一个outport,它们相互连接.我想将输入值设置为2并运行我的模拟,看看我的输出是否设置正确.我读到你不能使用set_param来设置那个值,但你必须使用sim(),但我没有运气.因此,如果有人知道如何查看inport框中的数据和/或如何设置它,我会很感激.谢谢!
卢卡斯
我有两个类Building和Room.我想Room通过建筑物的name属性然后按房间的room_number属性来对模型进行排序.这基本上就是我想做的事情:
class Room
belongs_to :building
default_scope :order => 'building.name, room_number' # Doesn't work.
end
Run Code Online (Sandbox Code Playgroud)
我只是不知道如何让协会工作.有没有办法在Rails中这样做?
这个主题已在网上多次讨论,但所有主题都没有帮助我解决我的问题.我的javascript代码接收JSON嵌套数据.所有JSON数据1级数据都在网格面板中转录,但所有子数据都没有.我尝试了很多方法,但不可能.这就是我要求你帮助我的原因.
我的JSON:
{
"success":true,
"error":false,
"redirectUrl":null,
"fund":[{
"cat_id":1,
"catname":"Europe OE Japan Large-Cap Equity",
"region":{
"region_id":2,
"region_name":"JAPAN"
}
},{
"cat_id":2,
"catname":"Europe OE Europe Large-Cap Growth Equity",
"region":{
"region_id":1,
"region_name":"EUROPE"
}
}]
}
Run Code Online (Sandbox Code Playgroud)
我的型号:
var Recommended = new function() {
this.DataModel = function() {
Ext.define('Fund', {
extend: 'Ext.data.Model',
fields: [{
name: 'catname',
type: 'string'
},{
name: 'cat_id',
type: 'int'
}],
proxy :{
type: 'rest',
url: application +'directory/function',
reader: {
type: 'json',
root: 'fund'
}
},
associations: [{
type: 'hasOne',
model: 'Region',
primaryKey: …Run Code Online (Sandbox Code Playgroud) 我有一个post和一个author模型.
author has_many :posts
现在我有author几个posts
是否有一种优雅的方式来获得只posts' titles作为一个数组,而不是整个post对象?
所以,不只是author.posts而是要像author.posts.only(:title)获得冠军的数组.例如['post1','post2','post3'].
该.only(:title)语法来自JSON模块,并且在这种情况下不起作用,但可能有一些更优雅,而不是迭代posts并推titles入新数组.查询数据库的东西select titles from posts where author_id = 23.
?