我最近从JAVA开发环境转移到.net开发环境.我正在使用.net MVC框架开发Web应用程序.有人会帮助我找到以下代码段的含义.它像迭代思想列表一样接缝,但我找不到这个代码示例的具体定义:
SmartTextBoxModel smartTextBoxModel = new SmartTextBoxModel();
List<string> nameList = new List<string>() { "AA", "AB", "AC", "BB", "B" };
var filteredStringList =
from n in nameList
where n.IndexOf(name, 0, StringComparison.OrdinalIgnoreCase) != -1
select n;
Run Code Online (Sandbox Code Playgroud)
本SmartTextBoxModel类有下面的代码(它基本上包含列表对象和getter和setter).
public class SmartTextBoxModel
{
public SmartTextBoxModel()
{
this.NameList = new List<SelectListItem>();
}
public List<SelectListItem> NameList { get;private set; }
public string Name { get; set; }
}
Run Code Online (Sandbox Code Playgroud)
我的问题是这一行是什么意思:
var filteredStringList =
from n in nameList
where n.IndexOf(name, 0, StringComparison.OrdinalIgnoreCase) != -1
select n;
Run Code Online (Sandbox Code Playgroud) 我尝试了以下代码,只需点击一下按钮就可以向jsp页面发送请求.我检查了Httpfox,但没有请求.我只是在html代码的主体中使用了整个代码.我做了一些愚蠢的错误.请建议..
<button type="button" onClick="handleButtonClick();">Click Me!</button>
<script type="text/javascript">
function handleButtonClick()
{
// Declare the variables we'll be using
var xmlHttp, handleRequestStateChange;
// Define the function to be called when our AJAX request's state changes:
handleRequestStateChange = function()
{
// Check to see if this state change was "request complete", and
// there was no server error (404 Not Found, 500 Server Error, etc)
if (xmlhttp.readyState==4 && xmlhttp.status==200)
{
var substring=xmlHttp.responseText;
// Do something with the text here
alert(substring);
}
}
xmlhttp …Run Code Online (Sandbox Code Playgroud) 如果可能的话,我宁愿不使用javascript,但jquery解决方案也可以.我很感激任何帮助.
我尝试了推送通知教程.它工作正常,但问题是徽章.当我点击视图时,应用程序出现并关闭它.它仍然是应用程序图标中的红色徽章 如何删除它?
另一个问题是
当我点击视图时,它会出现在主屏幕上.我想在推送通知时显示其他视图.
我正在学习来自多年c#和MSSQL的RoR.
我选择了一个项目来为我的兄弟建立一个网站,他是一名出租物业经理.我认为这应该是相当容易的,因为模型应该是直截了当的,但它认为我可能在思考一切,或者我在放弃"旧"方式时遇到了麻烦.无论如何这里是问题所在.我开始只有两个模型(用户和属性).属性模型很简单,用户不是那么多.我想我们系统中有三种类型的用户.租户,业主和经理(我的兄弟将是唯一的经理,但我认为我会设计它成长)他管理几个业主的房产,每个业主可以拥有许多房产.每个物业将拥有一个业主,一个租户和一个马槽.
租户将能够登录并只看到他们租用的房产可能会填写维护请求或类似的东西......(此时没有真正要求甚至让租户登录系统,但我认为这将是一个好的行使)
对于所有者来说同样的事情,他们都不需要访问系统(他们雇用我的兄弟,所以他们不必参与)但我认为这可能是好的,再次是一个很好的锻炼.
我使用Nifty_generator生成一个用户,它只提供电子邮件,密码等.我已将其扩展如下...
class AddProfileDataToUsers < ActiveRecord::Migration
def self.up
add_column :users, :first_name, :string
add_column :users, :last_name, :string
add_column :users, :address1, :string
add_column :users, :address2, :string
add_column :users, :city,:string
add_column :users, :state, :string
add_column :users, :zip, :string
add_column :users, :phone, :string
add_column :users, :email, :string
add_column :users, :user_type, integer
end
def self.down
remove_column :users, :first_name
remove_column :users, :last_name
remove_column :users, :address1
remove_column :users, :address2
remove_column :users, :city
remove_column :users, :state
remove_column :users, :zip
remove_column :users, :phone
remove_column :users, :email …Run Code Online (Sandbox Code Playgroud) 我通常喜欢在Visual Studio中针对警告级别4进行编译,并将所有警告视为错误.问题是,Ogre3D没有编译警告级别3(FBX SDK或OIS,我也在使用),这也是一个问题,因为现在我收到了来自Ogre3D库的大量警告,现在被视为错误.到目前为止,我一直在第3级编译,但这让我非常不安.有没有办法禁用我无法控制的特定第三方库的警告?
我会用Scala示例来问这个问题,但很可能这会影响其他允许混合命令和函数样式的语言.
这是一个简短的例子(更新,见下文):
def method: Iterator[Int] {
// construct some large intermediate value
val huge = (1 to 1000000).toList
val small = List.fill(5)(scala.util.Random.nextInt)
// accidentally use huge in a literal
small.iterator filterNot ( huge contains _ )
}
Run Code Online (Sandbox Code Playgroud)
现在iterator.filterNot懒惰地工作,这很棒!因此,我们希望返回的迭代器不会消耗太多内存(实际上是O(1)).然而,可悲的是,我们犯了一个可怕的错误:因为filterNot它是懒惰的,所以它保留了对函数文字的引用huge contains _.
因此,虽然我们认为该方法在运行时需要大量内存,并且该方法可以在方法终止后立即释放,但实际上内存会被卡住,直到我们忘记返回Iterator.
(我只是犯了这样一个错误,这需要很长时间才能找到!你可以抓住这些东西看堆堆...)
避免此问题的最佳做法是什么?
似乎唯一的解决方案是仔细检查在范围结束时存活的函数文字,以及捕获的中间变量.如果您构建一个非严格的集合并计划返回它,这有点尴尬.任何人都可以想到一些不错的技巧,特定于Scala或其他方式,避免这个问题,让我写出漂亮的代码?
更新:我之前给出的例子是愚蠢的,正如huynhjl的答案所示.它曾经是:
def method: Iterator[Int] {
val huge = (1 to 1000000).toList // construct some large intermediate value
val n = huge.last // do some calculation …Run Code Online (Sandbox Code Playgroud) 我正在将代码从非标准自定义PHP框架内置的应用程序转移到Ruby on Rails(版本3).在PHP版本中,所有控制器都非常胖,有薄模型,我一直不同意,所以我很享受Rails在模型级别进行验证的方式,这可能是这些胖控制器中发生情况的90%目前.
我面临的一个问题是,不确定如何解决问题,那就是基于谁对模型进行更改的不同验证规则.例如,管理员或记录的原始创建者应该能够执行诸如将记录标记为已删除(软删除)之类的操作,而其他人则不应该这样做.
class Something < ActiveRecord::Base
...
validates :deleted, :owned_by_active_user => true
...
end
class OwnedByActiveUserValidator < ActiveModel::EachValidator
validate_each(record, attr_name, attr_value)
# Bad idea to have the model know about things such as sessions?
unless active_user.admin? || active_user.own?(record)
record.errors.add :base, "You do not have permission to delete this record"
end
end
end
Run Code Online (Sandbox Code Playgroud)
由于模型本身(理论上)不知道正在进行更改的用户,所以做这种事情的"轨道方式"是什么?我应该将活动用户设置为记录上的虚拟属性(实际上没有保存到DB),还是应该只在控制器中执行这些检查?我不得不承认,让模型检查活动用户的权限确实很奇怪,并且在测试模型时增加了复杂性.
我渴望在模型中尽可能多地保留这一点的一个原因是因为我想提供API(通过OAuth访问)和网站,而不需要复制太多代码,例如这些类型的权限检查.
validation permissions activerecord ruby-on-rails ruby-on-rails-3