大多数时候,当请求来自AJAX时,我不想呈现布局.为此render :layout => !request.xhr?,我经常在我的控制器动作中写作.
如何将其设为默认值?也就是说,我希望能够写作
def new
Post.find(params[:id])
end
Run Code Online (Sandbox Code Playgroud)
并具有功能
def show
Post.find(params[:id])
render :layout => !request.xhr?
end
Run Code Online (Sandbox Code Playgroud)
(我很乐意在极少数情况下手动指定布局,我想使用它.)
我正在使用最新的WPF工具包,但是当我将一个大型记录集绑定到项目DataGrid内部时,我遇到了高度问题AccordionItem.Accordion它本身的高度很好地缩放,但是DataGrid 手风琴控制的内部不会ScrollBar以任何方式得到或受到限制,因此记录被隐藏.
我知道我很可能错过了一些非常简单的东西(比如从DataGrid高度属性到手风琴的绑定但是看起来很乱)
这是代码的缩减版本(是的,如果你绑定一个大的记录集,这也有同样的问题)
<UserControl>
<layouttoolkit:Accordion x:Name="ReportSelector" HorizontalAlignment="Stretch">
<layouttoolkit:AccordionItem Header="grid 1">
<dg:DataGrid
AutoGenerateColumns="False"
CanUserAddRows="False"
CanUserDeleteRows="False"
SelectionMode="Single">
...
</dg:DataGrid.Columns>
</dg:DataGrid>
</layouttoolkit:AccordionItem>
<layouttoolkit:AccordionItem Header="grid 2">
<dg:DataGrid
AutoGenerateColumns="False"
CanUserAddRows="False"
CanUserDeleteRows="False"
SelectionMode="Single">
...
</dg:DataGrid.Columns>
</dg:DataGrid>
</layouttoolkit:AccordionItem>
<layouttoolkit:AccordionItem Header="grid 3">
<dg:DataGrid
AutoGenerateColumns="False"
CanUserAddRows="False"
CanUserDeleteRows="False"
SelectionMode="Single">
...
</dg:DataGrid.Columns>
</dg:DataGrid>
</layouttoolkit:AccordionItem>
</layouttoolkit:Accordion>
</UserControl>
Run Code Online (Sandbox Code Playgroud) 我试图在一些独立的屏幕抓取脚本中使用Django ORM.我知道之前已经问过这个问题,但是我无法找到解决我特定问题的好方法.
我有一个定义模型的Django项目.我想要做的是在我的抓取脚本中使用这些模型和ORM.我的目录结构是这样的:
project
scrape
#scraping scripts
...
test.py
web
django_project
settings.py
...
#Django files
Run Code Online (Sandbox Code Playgroud)
我尝试过以下方面project/scrape/test.py:
print os.path.join(os.path.abspath('..'), 'web', 'django_project')
sys.path.append(os.path.join(os.path.abspath('..'), 'web', 'django_project'))
print sys.path
print "-------"
os.environ['DJANGO_SETTINGS_MODULE'] = 'django_project.settings'
#print os.environ
from django_project.myapp.models import MyModel
print MyModel.objects.count()
Run Code Online (Sandbox Code Playgroud)
但是,ImportError当我尝试运行test.py时,我得到了一个:
Traceback (most recent call last):
File "test.py", line 12, in <module>
from django_project.myapp.models import MyModel
ImportError: No module named django_project.myapp.models
Run Code Online (Sandbox Code Playgroud)
我发现这个问题的一个解决方案是../web/govcheck在scrape文件夹中创建一个符号链接:
:scrape rmanocha$ ln -s ../web/govcheck ./govcheck
Run Code Online (Sandbox Code Playgroud)
有了这个,我可以运行test.py就好了.然而,这似乎是一个黑客,更重要的是,不是非常便携(我将不得不在运行此代码的任何地方创建这个符号链接).
所以,我想知道是否有人对我的问题有更好的解决方案?
如何在提交按钮中设置背景图像?
我必须使用图像代替常规提交按钮?在xhtml/css中哪种方式最好?
在所有主流浏览器中,按钮应该看起来相同,包括IE6,IE7
我有两个表:entitytype和project.以下是create table语句:
Create table project (
pname varchar(20) not null,
primary key(pname)
);
create table entitytype(
entityname varchar(20) not null,
toppos char(100),
leftpos char(100),
pname varchar(20) not null,
primary key(entityname),
foreign key(pname) references project(pname) on delete cascade on update cascade
);
Run Code Online (Sandbox Code Playgroud)
当我尝试将任何值插入entitytype表时,我收到以下错误:
ERROR: insert or update on table "entitytype" violates foreign key constraint "entitytype_pname_fkey"
Detail: Key (pname)=(494) is not present in table "project".
Run Code Online (Sandbox Code Playgroud)
谁能说清楚我做错了什么?
以下代码尝试替换Groovy类中的现有方法:
class A {
void abc() {
println "original"
}
}
x= new A()
x.abc()
A.metaClass.abc={-> println "new" }
x.abc()
A.metaClass.methods.findAll{it.name=="abc"}.each { println "Method $it"}
new A().abc()
Run Code Online (Sandbox Code Playgroud)
它会产生以下输出:
original
original
Method org.codehaus.groovy.runtime.metaclass.ClosureMetaMethod@103074e[name: abc params: [] returns: class java.lang.Object owner: class A]
Method public void A.abc()
new
Run Code Online (Sandbox Code Playgroud)
这是否意味着当通过将元类设置为闭包来修改元类时,它并不真正替换它,而只是添加它可以调用的另一个方法,从而导致元类有两个方法?是否有可能真正替换方法,以便第二行输出打印"新"?
在试图找出它时,我发现DelegatingMetaClass可能有所帮助 - 这是最Groovy的方法吗?
我一直在研究C#4.0 WPF项目,需要弄清楚如何数据绑定布尔值.我在窗口中引用了我的Application.Current对象.我的"App"对象包含一个名为"Downloaded"的布尔字段,如果用户从Web服务下载了信息,则该字段为true.我需要将文本框的IsEnabled字段数据绑定到此Downloaded值.有小费吗?这是我到目前为止所提出的.(非常感谢任何有用的链接,以更好地学习WPF XAML!)
C#代码:
class MainWindow : Window
{
private App MyApp = App.Current as App;
}
Run Code Online (Sandbox Code Playgroud)
XAML:
<TextBox ... IsEnabled="{Binding Source=MyApp, Path=Downloaded}" />
Run Code Online (Sandbox Code Playgroud) 我很乐意能够做到
>>> A = numpy.array(((1,2),(3,4)))
>>> idx = (0,0)
>>> A[*idx]
Run Code Online (Sandbox Code Playgroud)
得到
1
Run Code Online (Sandbox Code Playgroud)
但这不是有效的语法.有没有明确写出来这样做的方法
>>> A[idx[0], idx[1]]
Run Code Online (Sandbox Code Playgroud)
?
编辑:谢谢你的回复.在我的程序中,我使用Numpy数组而不是元组进行索引并得到奇怪的结果.转换为Alok建议的元组就可以了.
我正在使用两个TextBox(用户名和密码)和一个Login按钮编写一个简单的登录UserControl.我希望只有在填写用户名和密码字段时才启用"登录"按钮.我使用的是Prism和MVVM.LoginViewModel包含一个名为LoginCommand的属性,该属性绑定到Login按钮.我的ViewModel中有一个CanLoginExecute()方法,但只有在应用程序启动时才会触发,然后再也不会触发.因此,从不启用"登录"按钮.我错过了什么?
这是我的xaml:
<TextBox x:Name="username"
Text="{Binding Path=Username, UpdateSourceTrigger=PropertyChanged, ValidatesOnDataErrors=True}" />
<TextBox x:Name="password"
Text="{Binding Path=Password, UpdateSourceTrigger=PropertyChanged, ValidatesOnDataErrors=True}" />
<Button Content="Login"
cmnd:Click.Command="{Binding LoginCommand}" />
Run Code Online (Sandbox Code Playgroud)
这是我的ViewModel
class LoginViewModel : IDataErrorInfo, INotifyPropertyChanged
{
public LoginViewModel()
{
this.LoginCommand =
new DelegateCommand<object>(
this.LoginExecute, this.CanLoginExecute);
}
private Boolean CanLoginExecute(object dummyObject)
{
return (string.IsNullOrEmpty(Username) ||
string.IsNullOrEmpty(Password)) ? false : true;
}
private void LoginExecute(object dummyObject)
{
if (CheckCredentials(Username, Password))
{
....
}
}
#region IDataErrorInfo Members
public string Error
{
get { throw new NotImplementedException(); }
}
public string …Run Code Online (Sandbox Code Playgroud) 下面两个代码之间有什么区别.
int a[] = {0,0};
int a[2] = {0,0};
Run Code Online (Sandbox Code Playgroud)
在两种情况下,似乎我都可以为[3]赋值.在任何情况下我都可以访问[3].那有什么区别?