问题列表 - 第46862页

在Rails中处理无效表单提交的正确方法

我是rails的新手,我不确定我是否同意我在一些教程中所做的事情.该问题与如何处理无效的表单提交有关.做事的标准方式似乎是:

class ThingsController < ApplicationController


  # POST /things
  def create

    @thing = Thing.new(params[:thing])

    if @thing.save
      flash[:notice] = 'Thing created'
      redirect_to(@thing)
    else
      render :action => :new
    end

  end
Run Code Online (Sandbox Code Playgroud)

当@ thing.save失败时,将向用户显示相同的表单,预填充其刚刚输入的值,以及出现错误的闪存.到目前为止一切都那么好,除了现在URL已从/ things/new更改为things /,而人们期望将其呈现为索引视图.

此外,如果用户刷新页面,他现在正在查看索引视图.如果他点击回来,他会被提示重新提交表格,我一直试图避免.如果我redirect_to(new_thing_path),用户以前的提交将丢失,错误消息也将丢失.

我意识到RESTful,这个方法可能是"正确的",因为事物对象的创建应该是POST到/ thing的结果,但是用户界面方面,我并不特别关心它.

我可以"手动"在用户会话中保存无效的@thing对象,在我将其重定向回new_thing_path之后显示,但这感觉就像是黑客.似乎应该有一种"轨道方式"来做到这一点.

想法?

ruby-on-rails-3

9
推荐指数
1
解决办法
1555
查看次数

Jquery在表行中找到一个复选框

我的HTML

<TR class="datarow" id="rowId"><TD>1</TD><TD>895171</TD><td class="classID"><INPUT type="checkbox" /></TD></TR>
Run Code Online (Sandbox Code Playgroud)

我如何使用Jquery来确定是否选中了此特定行中的复选框.假设我知道唯一的rowId.

目前,我正在这样做

var checkbox = $('#' + rowId + " td input:checkbox");

        if (checkbox.checked) {
           alert("checked");
        } else {
           alert("unchecked");
        }
Run Code Online (Sandbox Code Playgroud)

但是,当检查复选框时,似乎没有检测到.

编辑奇怪的是,以下内容也不起作用:

        var curRow = $('#' + curRowId);
        var checkbox = $(curRow).find('input:checkbox').eq(0);



        if (checkbox.checked) {
           alert("checked");

        } else {
           alert("unchecked");

        }
Run Code Online (Sandbox Code Playgroud)

jquery

6
推荐指数
1
解决办法
4万
查看次数

从匹配替换为行尾

这应该是非常容易的,但我不能让它工作.我只是想用来sed从一个字符串替换到一行的末尾.例如,如果我有以下数据文件:

   one  two  three  five
   four two  five five six
   six  one  two seven four
Run Code Online (Sandbox Code Playgroud)

我希望用"BLAH"这个单词替换单词"two"到最后一行,输出结束:

   one BLAH
   four BLAH
   six one BLAH
Run Code Online (Sandbox Code Playgroud)

不会只是:

   sed -e 's/two,$/BLAH/g'
Run Code Online (Sandbox Code Playgroud)

我不是正则表达式中最好的,也许这就是问题所在

regex sed

29
推荐指数
2
解决办法
10万
查看次数

将参数传递给cmd.exe

我试图从我的C#程序ping本地计算机.为此,我使用以下代码.

System.Diagnostics.ProcessStartInfo proc = new System.Diagnostics.ProcessStartInfo();
proc.FileName = @"C:\windows\system32\cmd.exe";
proc.Arguments = @"""ping 10.2.2.125""";
System.Diagnostics.Process.Start(proc);
Run Code Online (Sandbox Code Playgroud)

这将打开一个命令行窗口,但不会调用ping.是什么原因?

.net c#

19
推荐指数
4
解决办法
5万
查看次数

MVC Razor ViewEngine不是线程安全的吗?

我目前有一个.net mvc3应用程序,负责管理多个位置的类似视图,这些位置也使用相同的控制器,例如site1/v1/views/index.cshtmlsite1/v2/views/index.cshtml.

处理它的方法是创建一个继承自DefaultControllerFactory和CreateController方法的CustomControllerFactory,清除现有的视图引擎并添加一个新的自定义viewEngine,它根据当前url指定视图位置格式.

如果用户登陆site1.com/v1/index.cshtml,则视图引擎将指定以下视图位置:

string versionDirectory = "v1";
ViewLocationFormats = new[]{ versionDirectory + "/Views/{0}.cshtml",
                             "/Views/{0}.cshtml",
                             "~/Shared/{0}.cshtml"
                            };
Run Code Online (Sandbox Code Playgroud)

我遇到的问题是,如果多个用户在大致相同的时间落在不同的页面上,则所有用户都将看到相同的视图.

最初我认为这与缓存有关,但是在usecache = false自定义viewEngine中明确设置之后,似乎这与ViewEngines类不是线程安全有关.

有没有人对我如何能够以不同的方式实现相同的结果有任何想法?

提前致谢.

asp.net-mvc viewengine razor

5
推荐指数
1
解决办法
1272
查看次数

错误查询:DELETE和LEFT JOIN

DELETE FROM programSchedule 
LEFT JOIN program ON programSchedule.pid = program.id 
WHERE program.channel_id = 10
Run Code Online (Sandbox Code Playgroud)

我收到此错误:

#1064 - 您的SQL语法有错误; 查看与MySQL服务器版本对应的手册,以便在第1行的'LEFT JOIN程序ON programSchedule.pid = program.id'附近使用正确的语法

为什么?

mysql

5
推荐指数
1
解决办法
2937
查看次数

任何Gearman教程?

我正在寻找一个全面的Gearman教程(最好使用PHP API).我试图了解这个过程的流程.我将守护进程设置为运行,创建客户端和工作程序,但如何使用Gearman处理它们(如添加/删除工作程序等)?

php gearman

13
推荐指数
3
解决办法
9078
查看次数

UITableView:隐藏动画细胞?

我试图让我的一些细胞UITableView看不见.按下按钮,他们应该切换可见性.我尝试了该类的Hidden属性,UITableViewCell但它无法动画.将单元格设置Frame为0的高度将使单元格变小,但不会隐藏,也不会设置动画.

有任何想法吗?

cocoa-touch objective-c xamarin.ios

3
推荐指数
1
解决办法
3170
查看次数

Firefox 中的换行符

<br/>在 html 代码中使用了换行符。它在资源管理器中有效,但在火狐中没有影响。如何进行对双方都有利的换行?

html firefox

0
推荐指数
1
解决办法
1005
查看次数

Java - 将数组从方法返回到main

如果有人可以帮我解决以下问题,我会很高兴.下面的方法假设返回一个数组,其第i个条目是int i出现在数组a中的次数.方法名称使用此方法.绘制数组a中的数据直方图.

    public static int histogram(int M, int[] a){

        int[] b = new int[M];

        for (int i = 0; i < M; i++){

           int w = 0; 

            for (int j = 0; j < a.length; j++){ 

            if (a[j] == i){ 
            w++;
            }
        }

           b[i] = w; 

     }

   return b; 
}
Run Code Online (Sandbox Code Playgroud)

对我来说代码是正确的 - 它可能是错的 - 我无法测试它,因为我有一个错误,这真的让我烦恼.

Histogram.java:22:找到不兼容的类型:int [] required:int return b;

1)上面的意思是什么?例如在互联网和我的手册中,他们也只使用"返回b;" 将数组返回主程序.

2)返回功能究竟如何工作?我是否可以使用以下代码打印数组b的值?因为此刻我得到一个错误,因为数组b没有在main中初始化...我认为如果错误1被整理出来,错误就会消失.我是JAVA的新手,所以我真的不知道 - 编程新手.

for (int x = 0; x < M; x++){

        System.out.printf("%d ", b[x]);

     }`
Run Code Online (Sandbox Code Playgroud)

3)我是否可以在histogram()方法中打印值?要回答的问题是使用直方图值"返回"数组.

如果你能提供帮助,真的很高兴...... …

java methods return

2
推荐指数
1
解决办法
3万
查看次数