我有一个为房屋建模的 Rails 应用程序。有一个具有许多参数的房屋模型has_many rooms。一个房间有一个house_id和一个名称。我还使用http://github.com/ryanb/complex-form-examples来允许许多灯光并small_appliances添加到房间中。complex-form-example 使用 RJS 和分部来完成此任务。
有一个称为计算器的控制器,用户将使用它来访问应用程序。当按下计算器上的提交按钮时,它会重定向到一个add_rooms页面(位于app/views/calculator/add_rooms.html.erb)页面,用户可以在其中add rooms访问房屋。add_rooms 页面使用部分 from app/views/rooms/_room_form.html.erb. 我无法显示它,因为 Rails 总是在 app/views/calculator 文件夹中寻找内容。
我怎样才能显示这个?另请注意,我在保存房间时需要保存房屋的 id。
这是所有相关代码(我希望):
如果我注释掉这两个add_child_link。页面呈现。但是,当我单击“提交”时,我收到一条新的错误消息:
CalculatorController#add_room 中的 ActiveRecord::AssociationTypeMismatch 预期为 SmallAppliance(#49096610),得到了 Array(#1560620) RAILS_ROOT: C:/Users/ryan/Downloads/react 应用追踪 | 框架跟踪 | 完整追踪 C:/InstantRails/ruby/lib/ruby/gems/1.8/gems/activerecord-2.3.4/lib/active_record/associations/association_proxy.rb:263:在`raise_on_type_mismatch'中 C:/InstantRails/ruby/lib/ruby/gems/1.8/gems/activerecord-2.3.4/lib/active_record/associations/association_collection.rb:320:在“替换”中 C:/InstantRails/ruby/lib/ruby/gems/1.8/gems/activerecord-2.3.4/lib/active_record/associations/association_collection.rb:320:在“每个”中 C:/InstantRails/ruby/lib/ruby/gems/1.8/gems/activerecord-2.3.4/lib/active_record/associations/association_collection.rb:320:在“替换”中 C:/InstantRails/ruby/lib/ruby/gems/1.8/gems/activerecord-2.3.4/lib/active_record/associations.rb:1322:in `small_appliances=' C:/InstantRails/ruby/lib/ruby/gems/1.8/gems/activerecord-2.3.4/lib/active_record/base.rb:2744:在“发送”中 C:/InstantRails/ruby/lib/ruby/gems/1.8/gems/activerecord-2.3.4/lib/active_record/base.rb:2744:in `attributes=' C:/InstantRails/ruby/lib/ruby/gems/1.8/gems/activerecord-2.3.4/lib/active_record/base.rb:2740:在“每个”中 C:/InstantRails/ruby/lib/ruby/gems/1.8/gems/activerecord-2.3.4/lib/active_record/base.rb:2740:in `attributes=' C:/InstantRails/ruby/lib/ruby/gems/1.8/gems/activerecord-2.3.4/lib/active_record/base.rb:2438:在“初始化”中 C:/Users/ryan/Downloads/react/app/controllers/calculator_controller.rb:31:在“新”中 C:/Users/ryan/Downloads/react/app/controllers/calculator_controller.rb:31:在“add_room”中
如果我删除small_application部分,同样的事情也会发生在light上。accepts_nested_attributes_for我认为这与房间模型有关。我添加了下面的代码。我还添加了 house.rb 代码。
class Room < ActiveRecord::Base
belongs_to :house
has_many …Run Code Online (Sandbox Code Playgroud) 我在asp.net mvc视图上有几个隐藏的输入.它们的值包含类型的对象double.我希望它们能够被渲染,InvariantCulture因为它们习惯于被提供给客户端上的api(谷歌地图).就像现在一样,它们以逗号(,)作为小数分隔符进行渲染,而api则希望将点(.)作为小数分隔符.
最好的解决方案是,如果我可以DisplayFormat在模型的属性上的数据注释属性中指定文化,但我认为这不可能:
public class Position
{
[DisplayFormat(DataFormatString="{0:G}, CultureInfo.InvariantCulture")]
public double Latitude;
...
}
Run Code Online (Sandbox Code Playgroud)
我也不能在我的方法中设置CurrentCultureto ,因为屏幕上还有其他值必须在适当的用户文化中.InvariantCultureApplication_Start
那么,有没有办法暂时改变当前的文化,就在我Html.HiddenFor(Model => Model.Latitude)为特定属性做一个之前,然后重置它?
或者还有另一种更好的方法吗?什么是最佳做法?
我正在尝试创建一个Python脚本来突出显示.txt文件中的特定模式.为此,我更改了一个脚本,该脚本使用Tkinter突出显示给定的数据集.然而,我倾向于让它处理的文件大约是10000行,这导致慢滚动,因为我认为它呈现所有内容 - 无论是否在屏幕上(如果我错了,请纠正我).是否可以更改我的代码,以便以更有效的方式呈现输出?我试图寻找一种方法来做到这一点,但我自己没有找到任何东西.
我的代码如下:
from Tkinter import *
class FullScreenApp(object):
def __init__(self, master, **kwargs):
self.master=master
pad=3
self._geom='200x200+0+0'
master.geometry("{0}x{1}+0+0".format(
master.winfo_screenwidth()-pad, master.winfo_screenheight()-pad))
master.bind('<Escape>',self.toggle_geom)
def toggle_geom(self,event):
geom=self.master.winfo_geometry()
print(geom,self._geom)
self.master.geometry(self._geom)
self._geom=geom
root = Tk()
app = FullScreenApp(root)
t = Text(root)
t.pack()
#Import file
with open('data.txt') as f:
for line in f:
t.insert(END, line)
#Search terms - Leave blank if not required
search_term0 = '0xCAFE'
search_term1 = '0x0011'
search_term2 = '0x961E'
search_term3 = '0x0000'
search_term4 = ''
#Assigns highlighted colours for terms not …Run Code Online (Sandbox Code Playgroud) 请参阅下面的代码,即使指定了插槽名称,当前所有子项都在默认插槽中呈现。
不确定 vue createElement 函数是否支持命名槽?
@Component({
props:[]
})
export class TestComponent extends Widget{
items:any[];
render(h:any){
const rootcmp = {
template:`<div>
Temp:<slot name="temp"></slot>
Default:<slot></slot>
</div>`
, data:()=>{
return {};
}
}
const cmp = {
template:'<div slot="default">This is child</div>'
, data:()=>{
return {};
}
}
const cmp2 = {
template:'<div slot="temp">This is child</div>'
, data:()=>{
return {};
}
}
return h(rootcmp, [h(cmp), h(cmp2)]);
}
}
Run Code Online (Sandbox Code Playgroud)
当前行为:
<div>
Temp:Default:
<div>This is child</div>
<div>This is child</div>
</div>
Run Code Online (Sandbox Code Playgroud)
预期行为:
<div>
Temp:
<div>This is child</div> …Run Code Online (Sandbox Code Playgroud) 作为示例(真实尝试过的代码),我有一个组件,我想启动一个新实例进行渲染。
import React, { Component } from 'react';
export default class TinyObject extends Component {
constructor(props) {
super(props);
console.log("TinyObject constructor");
}
render() {
console.log("TinyObject render");
return (
<div>HEY THIS IS MY TINY OBJECT</div>
);
}
}
Run Code Online (Sandbox Code Playgroud)
然后在主应用程序构造函数中我执行以下操作:
var myTinyObject = new TinyObject();
var myArray = [];
myArray.push(myTinyObject);
this.state = {testing: myArray};
Run Code Online (Sandbox Code Playgroud)
然后创建了一个函数来渲染它:
renderTest()
{
const {testing} = this.state;
const result = testing.map((test, i) => {
console.log(test);
return {test};
});
}
Run Code Online (Sandbox Code Playgroud)
我从 App 渲染函数中调用它,如下所示:
render() {
const { gametables, tableActive } …Run Code Online (Sandbox Code Playgroud) 我在这篇文章React is Slow, React is Fast: Optimizing React Apps in Practice中读到:
实际上,每次将对象文字作为 prop 传递给子组件时,都会破坏纯度。
好的,我明白了。所以最好避免这种情况是用对象创建一个变量,并将这个变量插入到道具中,就像这样:
import React from 'react';
const style = { marginTop: 10 };
const AnyComponent = (props) => (
<div style={style}>
...
</div>
)
Run Code Online (Sandbox Code Playgroud)
但是如果 style prop 依赖于一个接收到的 prop 呢?对象应该在哪里?例如,我有这个组件:
import React from 'react';
const AnyComponent = (props) => (
<div style={{ marginTop: props.marginTop }}>
...
</div>
)
Run Code Online (Sandbox Code Playgroud)
这样做是否是一个好习惯:
import React from 'react';
const style = (marginTop) => ({ marginTop })
const AnyComponent = (props) …Run Code Online (Sandbox Code Playgroud) 我的颤动网在某些分辨率下很模糊。谁知道怎么修它?
有关更多信息,我正在调试模式下运行,当我放大或缩小页面时,质量会发生变化,有些缩放级别模糊,有些则没有。
[?] Flutter (Channel stable, v1.7.8+hotfix.4, on Microsoft Windows [Version 10.0.17763.615], locale en-US)
• Flutter version 1.7.8+hotfix.4 at D:\flutter
• Framework revision 20e59316b8 (3 weeks ago), 2019-07-18 20:04:33 -0700
• Engine revision fee001c93f
• Dart version 2.4.0
Run Code Online (Sandbox Code Playgroud) 我想使用 ref,但是我无法在最初为 false 的条件渲染中使用它。
constructor(props) {
super(props);
this.state = {
filterActive: false,
}
this.firstRef = React.createRef();
}
Run Code Online (Sandbox Code Playgroud)
如果我在此使用 ref :-
{this.state.filterActive ?
<label ref={this.firstRef}>Time Range</label>
:null}
Run Code Online (Sandbox Code Playgroud)
引用为空。
class Select extends React.PureComponent {
constructor(props) {
super(props)
this.state = { value: this.props.defaultValue }
this.handleChange = this.handleChange.bind(this)
}
handleChange(e) {
e.persist()
if (typeof this.props.onDataChange !== 'undefined') {
this.setState({ value: e.target.value }, () => this.props.onDataChange(e))
} else {
this.setState({ value: e.target.value })
}
}
render() {
const { options } = this.props
return (
<div>
<select
value={this.state.value}
onChange={this.handleChange}
>
{options.map((option, i) => {
const value = option.value || option.path || null
const label = option.label || option.name || option
return ( …Run Code Online (Sandbox Code Playgroud) 所以我试图制作一些类似于烟花的东西。我做了一个粒子类,它将组成烟花。
class Particle:
def __init__(self, pos, angle):
self.pos = pos
self.angle = angle
self.color = choice([(217, 103, 51), (238, 95, 30)])
self.radius = uniform(2, 7)
self.pull = 0
self.start = time.time()
def adjust(self):
self.radius -= 0.03
def draw(self):
if self.radius > 0:
pygame.draw.circle(D, self.color, (int(self.pos[0])
, int(self.pos[1])), int(self.radius))
def move(self):
now = time.time()
self.pos[0] += cos(radians(self.angle)) * 2
self.pos[1] += (sin(radians(self.angle)) + self.pull) * 2
if now - self.start > 0.1:
self.pull += 0.25
self.start = now
Run Code Online (Sandbox Code Playgroud)
然后我做了一个 Fireworks 类,它从 …