我有一部分视图通过RenderAction调用子动作呈现.如何从此子操作中获取父控制器和操作.
我用的时候..
@ViewContext.RouteData.Values["action"]
Run Code Online (Sandbox Code Playgroud)
我找回了Child Action的名字,但我需要的是Parent/Calling动作.
谢谢
顺便说一下,我正在使用带Razor的MVC 3.
我更新到rails 3并遇到将数组内容写入html视图的问题.如果我只是将数组放置如下:
<%= array %>
Run Code Online (Sandbox Code Playgroud)
它现在已经过时了:
[ "... "" ... "" ..."]
使用rails 2它只是打印的内容......
有任何想法吗?
马库斯
通过使用模式,有没有简单/简单的方法来验证xml msg的编码?
假设xml的第一行"不"值得信赖?例如,忽略?xml version ="1.0"encoding ="UTF-8"?
我必须上课,父亲和孩子(例如)
我的实现的片段
类Father.cs
public class Father
{
public int Id { get; set; }
public string Name { get; set; }
public List<Child> Children { get; set; }
public Father()
{
}
}
Run Code Online (Sandbox Code Playgroud)
类Child.cs
public class Child
{
public int Id { get; set; }
public string Name { get; set; }
public Child()
{
}
}
Run Code Online (Sandbox Code Playgroud)
我想尝试做这样的事情
Father f = new Father();
f.Children[0]; // ok
f.Children[1]; // ok
f.Children["John"]; // Duh!
Run Code Online (Sandbox Code Playgroud)
我现在,它错了,我需要在Child Class中实现一些东西,我尝试了这个
public Child this[string name]
{
get …Run Code Online (Sandbox Code Playgroud) 好的,所以这实际上已经解决了 - 但我不明白为什么我的工作.
我的问题是发送一次通知会导致一次事件多次触发.我最终在堆栈上看到了几个不需要的视图.简而言之:
用户按下工具栏中的按钮,从代理发送通知
mapItem = [[UIBarButtonItem alloc] initWithImage:mapImage style: UIBarButtonItemStylePlain target:self action:@selector(mapButtonPressed:)];
-(void)mapButtonPressed:(id)sender{
NSLog(@"Map Button Pressed");
[[NSNotificationCenter defaultCenter] postNotificationName:@"mapButtonPressed" object:nil ] ;
}
Run Code Online (Sandbox Code Playgroud)
这会在当前视图中触发一个函数,将地图视图推送到堆栈上.
-(void)openListMap:(NSNotification *)aNotification {
mapViewController = [[MapViewController alloc] initWithNibName:@"MapViewController" bundle:nil];
NSLog(@"Map Created");
mapViewController.searchLocation = searchLocation;
if(givenLocationType == @"input"){
mapViewController.inputLocationText = inputLocationText;
}
mapViewController.givenLocationType = givenLocationType;
CultureNOWAppDelegate *delegate =
[[UIApplication sharedApplication] delegate];
[delegate.navigationController pushViewController:mapViewController
animated:YES];
}
Run Code Online (Sandbox Code Playgroud)
现在,我改变了最后一行:
CultureNOWAppDelegate *delegate =
[[UIApplication sharedApplication] delegate];
[delegate.navigationController pushViewController:mapViewController
animated:YES];
Run Code Online (Sandbox Code Playgroud)
至:
[self.navigationController pushViewController:mapViewController animated:YES];
Run Code Online (Sandbox Code Playgroud)
结果是,尽管openListMap函数仍然会多次触发(您可以在控制台中看到,自应用程序启动以来每次出现视图时,日志输出显示"Map Created")它只将最新的mapView推送到堆栈.
但为什么?为什么它首先会多次触发,为什么它会通过交换两段代码而停止,这些代码对于所有意图和目的都是相同的?
谢谢你的任何想法.
我需要将HTML内容插入到XML文档中,这是可能的,还是应该将HTML内容编码为BASE64或其他类似内容?
当我运行rails c并在irb启动时按下向上键时,我可以看到我在遇到debuggerruby-debug gem命令后我的应用程序掉到irb时输入的最后一个命令.我不仅希望清除这些命令,而且如果我将rails c在上一次rails控制台会话期间发出最后一个命令,我希望它能够完成.我认为它曾经这样做,但我不确定发生了什么变化.如果有帮助的话,我在Mac OS 10.6.5上使用ruby 1.8.7和rails 3.0.3.
雷的回答在过渡期帮助了我.最近我做了一些挖掘,以了解更多,并意识到存在许多相互矛盾的问题.
IRB检查你是否有~/.irbrc,如果没有,/etc/irbrc就像雷提到的那样.但是,如果您正在使用rvm,则需要考虑另一个文件,如果您已设置(如果使用的话),则会~/.rvm/scripts/irbrc加载~/.rvm/scripts/irbrc.rb(注意)..rbrvm_pathENVrvm
有趣的是,虽然~/.rvm/scripts/irbrc.rb基于/etc/irbrc它们不同,但在某些方面有所不同.检测系统中使用哪一个的最明显的方法和最简单的方法是它们的历史文件名.如果/etc/irbrc正在使用你的历史文件将~/.irb_history在那里为rvm的是~/.irb-history(注:_VS -).
希望这些附加信息可以帮助您确定设置系统所需的内容.
我已经停止使用,debugger并已移动到pry-byebug包括pry宝石.Pry是IRB的替代品,但也可以在其旁边和内部使用.我能够提供上述更新的原因是因为我试图找出如何将各自的历史分开.欲了解更多信息,请参阅我对SO问题的回答:"为什么撬历史会阻止历史?" .我已经为Pry包含了已知Github问题的链接以及我尝试修复它.
这两个问题为洗刷IEnumerable提供了类似的算法:
以下是两种方法并排:
public static IEnumerable<T> Shuffle1<T> (this IEnumerable<T> source)
{
Random random = new Random ();
T [] copy = source.ToArray ();
for (int i = copy.Length - 1; i >= 0; i--) {
int index = random.Next (i + 1);
yield return copy [index];
copy [index] = copy [i];
}
}
public static IEnumerable<T> Shuffle2<T> (this IEnumerable<T> source)
{
Random random = new Random ();
List<T> copy = source.ToList ();
while (copy.Count > 0) {
int index …Run Code Online (Sandbox Code Playgroud) 作为rails,开源的新手,很快就可以部署到生产环境,我有一些安全考虑因素.
如何处理database.yml非常好,如何管理rails-database-yml
但是从我的角度来看,普通的rails应用程序中有更多的配置设置,不应该托管在公共github存储库中并部署到生产中,例如
将config/****/*添加到.gitignore不仅会阻止新开发人员进行捆绑安装,db:create,db:migrate,rails服务器,而且如果带有初始化程序的新gem,则还可以使生产配置保持最新状态安装.
另一种可能性是添加一个带有敏感配置的environment.yml,比如database.yml,初始值设定项中的敏感配置会被覆盖吗?
这样可以在清理结账后轻松启动和运行,并且生产环境易于维护.
任何想法如何解决我上面的问题?
我正在将一个asp.net webforms应用程序移植到mvc.net.我有一个OR框架,需要在执行任何数据库操作之前创建DataSession对象.
在我当前的webform应用程序中,我在Page_Init事件期间实例化DataSession,并在Page_UnLoad事件期间清除对象.
我正在寻找与mvc.net类似的东西.我最初开始使用OnACtionExecuting(在操作之前引发)和OnActionExecuted(在操作之后引发).但是,在呈现页面期间,由于DataSession不再可用,因此有一些实体的延迟加载失败.我需要的是在渲染View之后会触发的东西.
asp.net-mvc ×2
c# ×2
xml ×2
arrays ×1
capistrano ×1
github ×1
html ×1
ienumerable ×1
indexing ×1
iphone ×1
irb ×1
linq ×1
open-source ×1
performance ×1
pipeline ×1
properties ×1
pry ×1
readline ×1
ruby ×1
schema ×1
sdk ×1
utf ×1
utf-8 ×1
xsd ×1