我一直在撞墙,试着弄清楚这里出了什么问题,我肯定(或者更希望)这是一个相当明显的东西,我忽略了.我使用的是Ruby 1.9.1,Sinatra 1.0和RMagick 2.13.1.ImageMagick和RMagick已正确安装并正常运行 - 我已成功操作并保存了来自irb的图像.
params数组的相关部分(为便于阅读而格式化更改):
{"admin_user_new_image_file"=>
{
:filename=>"freddie-on-shetland-pony.png",
:type=>"image/png",
:name=>"admin_user_new_image_file",
:tempfile=>#<File:/var/folders/a7/a7pO5jMcGLCww9XBGRvWfE+++TI/-Tmp-/RackMultipart20100514-20700-o2tkqu-0>,
:head=>"Content-Disposition: form-data; name=\"admin_user_new_image_file\"; filename=\"freddie-on-shetland-pony.png\"\r\nContent-Type: image/png\r\n"
}
}
Run Code Online (Sandbox Code Playgroud)
相关代码:
post "/admin/user/:account_name/image/new/" do
if params[:admin_user_new_image_file][:tempfile]
thumbnail = Magick::Image.read("png:"+params[:admin_user_new_image_file][:tempfile].path).first
end
end
Run Code Online (Sandbox Code Playgroud)
错误(第229行是以"thumbnail ="开头的行:
config.ru:229: [BUG] Segmentation fault
ruby 1.9.1p376 (2009-12-07 revision 26041) [i386-darwin10.3.0]
-- control frame ----------
c:0042 p:---- s:0196 b:0196 l:000195 d:000195 CFUNC :read
c:0041 p:0121 s:0192 b:0192 l:001ab8 d:000191 LAMBDA config.ru:229
c:0040 p:---- s:0189 b:0189 l:000188 d:000188 FINISH
c:0039 p:---- s:0187 b:0187 l:000186 d:000186 CFUNC :call
c:0038 p:0018 …
Run Code Online (Sandbox Code Playgroud) 我正在制作一个简单的待办事项列表应用程序来自学Ruby on Rails,但是我遇到了一个问题.我有一个简单的表单,列出待办事项,左侧有一个复选框,底部有一个"更新"按钮,如下所示:
[]做菜
[]取出垃圾
[]接管世界
(更新)
每个待办事项都是数据库中的单独记录,带有"已完成"的布尔字段.我希望表单将一个已检查项目ID的列表提交给一个动作,在该动作中我可以将每个项目的"已完成"字段设置为true,这将使它们从视图中隐藏.
我知道如何创建一个引用多个模型的表单,而不是引用同一模型的多个记录的表单.有小费吗?
谢谢!
我只有一台计算机(运行OS X),并且需要在Safari 3和Safari 4中进行测试.虽然Safari 4是"官方"版本,但我认为它还没有被软件更新推送,因此可能尚未被大多数用户采用.即使它已经被推动,但仍然可以肯定许多用户还没有更新.
问题是更新到Safari 4取代了系统Webkit框架,使其难以与旧版本同时运行.
我想到的一个解决方案是在Safari 3.2.1发布前几周下载一个Webkit版本,并假设它与发布版本相同,但我宁愿让"真实的东西"安全.
除了运行多台计算机/操作系统之外,任何人都有这方面的解决方案吗?
我已经成立了一个Rails的形式大致如下的说明本 Railscast.
这是表单的代码:
<% form_tag complete_todos_path, :method => :put do %>
<ul>
<div id="incomplete_todos">
<% @incomplete_todos.each do |todo| %>
<%= render :partial => todo %>
<% end %>
</div>
</ul>
<%= submit_tag "Mark as completed" %>
<% end %>
Run Code Online (Sandbox Code Playgroud)
以下是todo partial的代码:
<div class="todo">
<li>
<%= check_box_tag "todo_ids[]", todo.id %>
<%=h todo.name %>
<%= link_to 'edit', edit_todo_path(todo) %>
<%= link_to 'delete', todo, :confirm => 'Are you sure?', :method => :delete %>
</li>
</div>
Run Code Online (Sandbox Code Playgroud)
它工作得很好,但我希望开始实现AJAX,我需要每个复选框都有一个唯一的ID.现在,生成的输入标签看起来像这样:
<input id="todo_ids_" name="todo_ids[]" type="checkbox" value="7" /> …
Run Code Online (Sandbox Code Playgroud)