所以我的背景是Java Web服务,但我正试图转向ROR.
我正在使用FlexImage处理图像上传和缩略图生成.我按照指南,CRUD行为一度正常.但是,在某些时候,我的某个模型(图像)的CRUD行为被打破了.
我得到的错误代码如下:ActiveRecord::RecordNotFound in ImagesController#show -- Couldn't find Image with ID=#<Image:0x4e2bd74>.
换句话说,当我告诉Rails创建/更新/销毁时,它会使对象与id混淆.这似乎表明可能存在路由问题.我认为为图像添加部分可能是麻烦,但回滚更改并没有解决它.
以下是Images模型的控制器的新,显示和更新方法:
# images_controller.rb
# ...
def new
@image = Image.new
respond_to do |format|
format.html # new.html.erb
format.xml { render :xml => @image }
end
end
# ...
def show
@image = Image.find(params[:id])
respond_to do |format|
format.jpg # show.jpg.erb
format.html # show.html.erb
format.xml { render :xml => @image }
end
end
# ...
def create
@image = Image.new(params[:image])
if @image.save
redirect_to image_url(@image)
else
flash[:notice] = 'Your image …
Run Code Online (Sandbox Code Playgroud) 我有一个模型如下:
Campaign
has_many :companies, :through => :contacts
Run Code Online (Sandbox Code Playgroud)
与同一家公司有很多联系.我只想要每个公司的一个实例.
我尝试了以下方法:
@campaign = Campaign.find(params[:id])
@companies = @campaign.companies
Run Code Online (Sandbox Code Playgroud)
但这显示了我认为的每一次接触的所有公司.至少这是输出的样子.
如何确保只添加一个公司的单个实例?
我想在help_text
django model_field的属性中添加一个条款和条件的链接,基本上我想编写如下代码:
class UserRegisterData(models.Model):
accepted_terms = models.BooleanField(
...
help_text = u""Terms and conditions are avilable on <a href="{reg}">this iste</a> stronie""".format(reg = reverse("terms"))
)
Run Code Online (Sandbox Code Playgroud)
显然失败了,因为在模型被实例化时urlconf没有准备好.
我甚至试图包装help_test
,SimpleLazyObject
但它仍然无法正常工作.
我宁愿不碰模板代码.如果没有在字符串或设置中硬编码url,有没有办法实现这个目的?
我只想检查视图模块(即CSHTML
)中模型的数据,我的尝试是这样的
@model CCG.Models.RatingConverter
<table>
<tbody>
<tr>
@if (Model.ToString()!="A")
{
<td class="row" ><%- Rating %></td>
}
</tr>
</tbody>
</table>
Run Code Online (Sandbox Code Playgroud)
我收到Null Reference Exception
错误..所以请任何人知道..
这是东西.我不确定哪个部分出了问题.请帮帮我!:)我是一个迷茫的ebit混淆哈哈哈
class SignUpForm(forms.ModelForm):
fname = forms.CharField(max_length=256, label="", required=True, widget=forms.TextInput(attrs={'class': 'form-control','placeholder': 'First Name','required':True}))
lname = forms.CharField(max_length=256, label="", required=True, widget=forms.TextInput(attrs={'class': 'form-control','placeholder': 'Last Name','required':True}))
email = forms.EmailField(max_length=256, label="", required=True, widget=forms.EmailInput(attrs={'class': 'form-control','placeholder': 'Email','required':True}))
emailConfirm = forms.EmailField(max_length=256, label="", required=True, widget=forms.EmailInput(attrs={'class': 'form-control','placeholder': 'Confirm email','required':True}))
password = forms.CharField(max_length=256, label="", required=True, widget=forms.PasswordInput(attrs={'class': 'form-control','placeholder': 'Password','required':True}))
datetime = forms.DateTimeInput()
class Meta:
model=SignUp
fields=['fname','lname','email','password',]
def clean_fname(self):
name = self.clean_data.get('fname')
if ' ' in name:
raise forms.ValidationError("Please do not have a space in your name.")
else:
return name
Run Code Online (Sandbox Code Playgroud) 我有一个存储一些数据的模型.我在我的服务中创建了一个该模型的数组.就像这样
modelArray: MyModel[];
Run Code Online (Sandbox Code Playgroud)
但是当我尝试将一些数据推送到数组时,它会因错误而失败
无法读取未定义的属性推送
this.modelArray.push(currentData);//THE PROBLEM CODE
Run Code Online (Sandbox Code Playgroud)
我不确定这样做的正确方法.
我的服务代码如下所示:
import { Injectable } from '@angular/core';
import { Headers, Http, Response } from '@angular/http';
import 'rxjs/add/operator/toPromise';
import { NgAuthService } from '../shared-service/service/ng-auth.service';
import { AppLocalStorageService } from '../shared-service/service/app-local-storage.service';
import { MyModel } from './model/my-model';
@Injectable()
export class ModelService {
authObj: any;
appConstants: any;
baseUrl: any;
count: any;
modelArray: MyModel[];
constructor(private http: Http, public ngAuth: NgAuthService, public localStorage: AppLocalStorageService) {
this.authObj = this.ngAuth.getNgAuth();
this.appConstants = this.ngAuth.getAppConstant();
this.baseUrl = this.authObj.apiServiceBaseUri;
}
/*Get …
Run Code Online (Sandbox Code Playgroud) 我在配料.model.ts 中声明了一个模型
export class Ingredient {
constructor(private name: string, public amount: number) {}
getName() { return this.name }
}
Run Code Online (Sandbox Code Playgroud)
在配料.service.ts 中,如果我以这种方式获取它们:
httpClient.get<Ingredient>(url).subscribe(
(igredient) => {
console.log(igredient.getName());
});
Run Code Online (Sandbox Code Playgroud)
它在控制台中给出错误,例如“属性 igrient 中没有方法 getName”。
另外,每当我尝试声明属性类型 Category[] 时,它都会失败,但 Array 似乎工作正常。
编辑: 我想提供更多信息。
给定 Igredient 模型和以下 JSON 结构:
{
name: "Apple",
amount: "5",
created_at: "date",
}
Run Code Online (Sandbox Code Playgroud)
Igredient 构造函数甚至没有被调用,因此 GET 有效负载不会被解析。
我正在尝试将Ember-Data与Express.JS支持的JSON-API 相关联.
我知道这些......
models
adapters
serializers
......但他们如何一起工作?它们如何适应Ember.JS的整体情况?
如何在JSON-API和Ember.JS之间建立安全连接?