过去几天我一直在努力更新我的个人网站.我的个人网站的URL是(我的名字).(我的姓).com,因为我的姓氏很不寻常,我很幸运能够拿起域名.我的电子邮件地址是(我的名字)@(我的姓).com.所以真的,当它归结为猜测时,它并不是很难.
无论如何,我想将mailto:链接集成到我的网站,以便人们可以联系我.而且,尽管我的电子邮件地址不是很难猜测,但我宁愿不让垃圾邮件机器人收集它,只是抓取网站的电子邮件地址模式并将它们添加到他们的数据库中.
我最好的方法是混淆我的电子邮件地址,最好是链接形式?我所知道的方法是:
<a href="mailto:x@y.com">e-mail me</a>
Run Code Online (Sandbox Code Playgroud)
它有效,但这也意味着,一旦我的网站访问谷歌,我将趟垃圾邮件,因为垃圾邮件机器人很容易选择我的电子邮件地址.
<img src="images/e-mail.png" />
Run Code Online (Sandbox Code Playgroud)
这是不太理想的,因为访客不仅无法点击它向我发送电子邮件,而且更聪明的垃圾邮件机器人可能能够检测到图像包含的字符.
我知道可能没有完美的解决方案,但我只是想知道每个人都认为最好的.我绝对愿意在必要时使用JavaScript,因为我的网站已经使用了大量的JavaScript.
另一个基本的Rails问题:
我有一个数据库表,需要包含对特定数据类型的两个不同记录的引用.
假设的例子:我正在制作视频游戏数据库.我有一张"公司"表.我希望每个"Videogame"条目只有一个开发人员和一个发布者.
我知道,如果我想拥有一家公司,我可以做以下事情:
script/generate Videogame company:references
Run Code Online (Sandbox Code Playgroud)
但我需要两家公司.我宁愿不使用连接表,因为只能有两个给定的数据类型,我需要它们是不同的.
似乎答案应该非常明显,但我无法在互联网上的任何地方找到它.
选择下拉框选项时,自动提交AJAX表单的最简单,最优雅的方法是什么?我正在创建一个管理页面,管理员可以在其中修改用户权限("权限"存储为整数),我希望"权限"字段是一个下拉框,当管理员自动提交和更新时点击他希望用户拥有的选项.
这是我目前正在看的精简版.我需要知道将其转换为远程表单的最佳方法,该表单在单击选项时自动提交.
随意指出任何切向性的建议或其他任何东西......我对Rails相对较新,只是在我不能不经常引用他人工作的情况下才能编写代码.
<!-- This is the "index" view, by the way. -->
<% for membership in @story.memberships %>
<% form_for membership do |f| %>
<%= f.select :permissions, [['none', 0], ['admin', 9]] %>
<% end %>
<% end %>
Run Code Online (Sandbox Code Playgroud) 我正在阅读有关自我参照has_many:通过今天的数据情况,因为我正在尝试构建一个使用它们的Rails应用程序.我在互联网上发现了这个例子,我对此有疑问.让我在这个人的博客上发布这个示例代码:
create_table :animals do |t|
t.string :species
end
create_table :hunts do |t|
t.integer :predator_id
t.integer :prey_id
t.integer :capture_percent
end
class Animal < ActiveRecord::Base
has_many :pursuits, :foreign_key => 'predator_id',
:class_name => 'Hunt',
:dependent => :destroy
has_many :preys, :through => :pursuits
has_many :escapes, :foreign_key => 'prey_id',
:class_name => 'Hunt',
:dependent => :destroy
has_many :predators, :through => :escapes
end
class Hunt < ActiveRecord::Base
belongs_to :predator, :class_name => "Animal"
belongs_to :prey, :class_name => "Animal"
end
Run Code Online (Sandbox Code Playgroud)
假设我正在构建一个列出其数据库中第一个动物的网页.此标题下方是百分比列表(capture_percent).每个百分比指的是这个页面的动物狩猎的动物,但它不会告诉你动物的名字,只是百分比.单击任何给定的百分比将转到相应的动物页面.
我知道,这是一个难以解决的问题,但我正在努力解决这个问题.我是否必须为CapturePercent创建一个单独的表?
使用XNA,我正在尝试创建一个冒险游戏引擎,让你制作看起来像90年代初期的游戏,比如触手之日和Sam&Max Hit the Road.因此,我希望游戏实际上以320x240运行(我知道,它应该是320x200,但是嘘),但它应该根据用户设置进行扩展.
它的工作原理样的好现在,但我遇到了一些问题,我其实希望它看起来更加像素化,它目前不会.
这就是我现在正在做的事情:
在游戏初始化中:
public Game() {
graphics = new GraphicsDeviceManager(this);
graphics.PreferredBackBufferWidth = 640;
graphics.PreferredBackBufferHeight = 480;
graphics.PreferMultiSampling = false;
Scale = graphics.PreferredBackBufferWidth / 320;
}
Run Code Online (Sandbox Code Playgroud)
Scale是一个公共静态变量,我可以随时检查以查看相对于320x240我应该扩展多少游戏.
在我的绘图功能:
spriteBatch.Begin(SpriteSortMode.BackToFront, BlendState.NonPremultiplied, SamplerState.PointClamp, DepthStencilState.Default, RasterizerState.CullNone, null, Matrix.CreateScale(Game.Scale));
Run Code Online (Sandbox Code Playgroud)
这样,一切都以320x240绘制并且被炸毁以适应当前分辨率(默认为640x480).当然,我做数学将鼠标的实际坐标转换为320x240坐标,依此类推.
现在,这是伟大的,但现在我已经到了我想要开始缩放我的精灵,让他们走到远处等等的地步.
看下面的图片.左上角的图像是游戏以640x480运行时的截图.它右边的图像是"应该"看的样子,在320x240.最下面的一排图像只是吹到300%的顶行(在Photoshop中,不在引擎中),所以你可以看到我在说什么.
在640x480图像中,您可以看到不同的"线条粗细"; 较粗的线是它应该看起来的样子(一个像素= 2x2,因为它运行在640x480),但是由于缩放,较细的线条(1x1像素)也会出现,当它们不应该时(参见右边的图像) ).
基本上我试图模拟一个320x240的显示器,但是使用XNA会升级到任何分辨率,并且矩阵变换不能解决问题.我有什么办法可以做到这一点吗?
我正在开发一个通过表单发送数据的Rails应用程序.我想修改某些形式的"参数"的后形式发送,但之前对其进行处理.
我现在有什么
{"commit"=>"Create",
"authenticity_token"=>"0000000000000000000000000"
"page"=>{
"body"=>"TEST",
"link_attributes"=>[
{"action"=>"Foo"},
{"action"=>"Bar"},
{"action"=>"Test"},
{"action"=>"Blah"}
]
}
}
Run Code Online (Sandbox Code Playgroud)
我想要的是
{"commit"=>"Create",
"authenticity_token"=>"0000000000000000000000000"
"page"=>{
"body"=>"TEST",
"link_attributes"=>[
{"action"=>"Foo",
"source_id"=>1},
{"action"=>"Bar",
"source_id"=>1},
{"action"=>"Test",
"source_id"=>1},
{"action"=>"Blah",
"source_id"=>1},
]
}
}
Run Code Online (Sandbox Code Playgroud)
这可行吗?基本上,我试图一次提交两种类型的数据("页面"和"链接"),并将"链接"的"source_id"分配给"页面"的"id".
我正在为学校制作游戏引擎,我想使用谷歌的V8来允许在引擎中使用JavaScript脚本.该引擎是使用Visual Studio 2013编写的,并且由于最终游戏不得超过50MB,因此我希望尽可能减小V8文件大小的影响.
通过互联网了解如何使用V8进行操作,我遇到了一系列关于V8的教程,其中包含一个针对V8的预编译.lib文件.但是,它已经四岁了.我假设自己构建一个更新的版本会提高性能并添加功能,所以我昨天花了很多时间来讨论V8构建过程,并最终找到了如何为Visual Studio编译V8:
fetch v8
这为我提供了生成V8 Visual Studio解决方案所需的一切,当我编译它时,它可以工作,并生成.lib和.dll文件.但是,当我尝试创建一个测试解决方案并将这些库链接到它时,它令人难以置信的混乱.
构建过程生成以下LIB文件:
以下DLL:
在昨天的某个时刻,我包含了许多库(我认为它是v8,v8_base和v8_snapshot)并将所有DLL复制到我项目的输出目录中,并最终起作用.但是,正如我上面所说,我需要V8的文件大小影响尽可能小.我不需要i18n支持,所以有没有一种方法可以在没有它的情况下进行编译?就像我上面说的那样,我有一个旧版本的V8 .lib,它不需要运行DLL,它编译并且工作正常...但我错过了更新的功能和改进,因为这是四年旧?无论如何,所有这些.libs的含义是什么?我找不到任何关于哪些人做什么或类似事情的文件.
所以,是的,我想如果有人能提供指示或指向我任何有用的文件,那将是伟大的.我昨天花了差不多整天试图解决这个问题.
我一直在阅读一些关于如何开始使用Rails 2.0的教程.
(超时:天才网站名称的想法来自我刚刚写的一个错字:"tutoRAILS."抱歉,回到我的问题.)
在我阅读的大多数教程中,似乎鼓励使用MySQL而不是sqlite3.有这样的理由,比如,表现方面还是其他什么?我现在只是使用InstantRails在我的电脑上测试Rails,并且他们已经足够好将MySQL包含在他们的设置中,但我一直在使用sqlite3制作我的实验应用程序.我是否遗漏了sqlite3的一些主要警告,或者这只是其他人对MySQL的一般偏好?
我正在创建一个Rails应用程序,我遇到了一些障碍.我想要一个"为DataType1创建新记录"表单,不仅为DataType1创建一个新行,而且还为DataType2插入最多四个新行.
我知道所有关于fields_for的信息,但我的问题是我需要提交最多四个DataType2,它们与DataType1的唯一连接是它们是通过DataType2中的字段引用的.
这是简化的数据库:
create_table :data_type_1 do |t|
t.string :title
t.text :body
t.timestamps
end
create_table :data_type_2 do |t|
t.belongs_to :parent
t.timestamps
end
Run Code Online (Sandbox Code Playgroud)
现在,我建立了所有关系和一切; 那不是问题.问题是我似乎无法弄清楚如何使用新DataType1的参数传递DataType2s的参数.一旦有人告诉我应该怎么做,我可以设置新的DataType2s以便相当容易地与新的DataType1相关联.
这就是我目前对表格的看法:
<% form_for(@data_type_1) do |f| %>
<%= f.error_messages %>
<p>
<%= f.label :title %><br />
<%= f.text_field :title %>
</p>
# Etc...
<p>
# New items need to be iterated here
# DataType2[1]: [ ]
# DataType2[2]: [ ]
# DataType2[3]: [ ]
# DataType2[4]: [ ]
# (Note that these numbers are just examples.)
</p>
<p> …
Run Code Online (Sandbox Code Playgroud) 我正在创建一个由故事组成的Ruby on Rails应用程序.每个故事都有多个页面.
如何设置routes.rb以便我可以拥有这样的URL:
http://mysite.com/[story id]/[page id]
Run Code Online (Sandbox Code Playgroud)
喜欢:
http://mysite.com/29/46
Run Code Online (Sandbox Code Playgroud)
目前我正在使用这种设置:
http://mysite.com/stories/29/pages/46
Run Code Online (Sandbox Code Playgroud)
使用:
ActionController::Routing::Routes.draw do |map|
map.resources :stories, :has_many => :pages
map.resources :pages
map.root :controller => "stories", :action => "index"
map.connect ':controller/:action/:id'
map.connect ':controller/:action/:id.:format'
end
Run Code Online (Sandbox Code Playgroud)
提前致谢.我是Rails的新手,现在路由对我来说似乎有点复杂.
activerecord ×4
ruby ×4
ajax ×1
ajax-forms ×1
associations ×1
email ×1
embedded-v8 ×1
html ×1
javascript ×1
obfuscation ×1
remote-forms ×1
scaffolding ×1
sql ×1
sqlite ×1
v8 ×1
xna ×1
xna-4.0 ×1