小编age*_*eto的帖子

将 Drupal 站点迁移到新服务器后,我无法上传文件

我们有一个包含两个imagefield / filefield字段的内容类型,在将我们的站点迁移到新服务器后,我们遇到了以下问题:

当我们为此内容类型提交一个新项目时,这些字段有两个图像,drupal 会给我们以下错误并且不上传图像:

警告:fopen(sites/default/files/.htaccess) [function.fopen]:无法打开流:第 349 行的 /websites/sitename/data/sites/all/modules/filefield/field_file.inc 中的权限被拒绝。警告: fopen(sites/default/files/.htaccess) [function.fopen]: 无法打开流:第 349 行的 /websites/sitename/data/sites/all/modules/filefield/field_file.inc 中的权限被拒绝。图像无法创建缩略图。警告:fopen(sites/default/files/.htaccess) [function.fopen]:无法打开流:第 349 行的 /websites/sitename/data/sites/all/modules/filefield/field_file.inc 中的权限被拒绝。警告: fopen(sites/default/files/.htaccess) [function.fopen]: 无法打开流:第 349 行的 /websites/sitename/data/sites/all/modules/filefield/field_file.inc 中的权限被拒绝。

我知道这是一个权限错误,但我不清楚我必须在哪里更改权限。file.inc 的第 349 行代码如下:

  if (($fp = fopen("$directory/.htaccess", 'w')) && fputs($fp, $htaccess_lines)) {
      fclose($fp);
      chmod($directory .'/.htaccess', 0664);
    }
    else {
      $repl = array('%directory' => $directory, '!htaccess' => nl2br(check_plain($htaccess_lines)));
      form_set_error($form_item, t("Security warning: Couldn't write .htaccess file. Please create a .htaccess file in your %directory directory which contains the following …
Run Code Online (Sandbox Code Playgroud)

drupal drupal-6 drupal-files

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

Ruby块示例不能正常工作

我刚开始学习不同资源的红宝石阅读.其中一个是rubylearning.com,我只是阅读块部分并进行练习.出于某种原因,这个示例的范围在我的情况下有不同的工作方式:

x = 10  
5.times do |x|  
  puts "x inside the block: #{x}"  
end  

puts "x outside the block: #{x}"  
Run Code Online (Sandbox Code Playgroud)

输出应该是(根据网站):

x inside the block: 0  
x inside the block: 1  
x inside the block: 2  
x inside the block: 3  
x inside the block: 4  
x outside the block: 10  
Run Code Online (Sandbox Code Playgroud)

但我的输出是:

x inside the block: 0
x inside the block: 1
x inside the block: 2
x inside the block: 3
x inside the block: 4
x …
Run Code Online (Sandbox Code Playgroud)

ruby scope

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

传递给每个代码块的代码块使用括号而不是'do' - 'end'(ruby)

我最近开始学习ruby,我知道你可以使用这两种语法的代码块.但我刚发现一个我不明白的案例:

#my_hash is a hash in which the keys are strings and the values arrays, but dont think about the specifics fo the code

#if I run my code like this, it works perfectly

my_hash.each do |art|
  puts mystring.gsub(art[0]).each {
    art[1][rand(art[1].length) -1]
  }
end

#but if I use this, it prints "Enumerator"

my_hash.each do |art|
  puts mystring.gsub(art[0]).each do
    art[1][rand(art[1].length) -1]
  end
end
Run Code Online (Sandbox Code Playgroud)

是因为你不能窝对端对吗?我使用的是1.9

ruby

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

请求时生成imagemagick/carrierwave缩略图

我在Rails应用程序中使用带有Rmagick的carrierwave gem.我在我的上传器文件中设置了一个新版本:

class ImageUploader < CarrierWave::Uploader::Base   
  include CarrierWave::RMagick
  storage :file
  def store_dir
    "uploads/#{model.class.to_s.underscore}/#{mounted_as}/#{model.id}"
  end
  version :preview do
     process :resize_to_fill => [580, 350]
  end
end
Run Code Online (Sandbox Code Playgroud)

当然,我在我的gemfile中包含了rmagick和carrierwave.现在我尝试在我的视图中加载我的图像的预览版本:

@product.photos.first.image.preview
Run Code Online (Sandbox Code Playgroud)

这不会产生任何错误,但会加载损坏的图像.如果我复制图像的网址,我会收到路由错误('无路由匹配/path/to_my_imagesfolder/preview_image.png').如果我删除预览方法,图像将正确加载.

问题是什么?我想也许这是一个权限问题,但我设置了777的uploads文件夹,但它仍然失败.

有任何想法吗?

编辑:我意识到如果我再次上传图像,则会创建新版本.是否有可能让Rmagick在请求时创建它们(如TimThumb在PHP中所做的那样)或者至少是否有任何命令批量创建所有版本?

必须有比上传所有图片更好的方法......

ruby ruby-on-rails rmagick carrierwave

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

如何在数据库上存储经常性的时间段?像"从1月1日到5月的最后一天"?

我必须存储重复的日期,类似于标题中的日期,我不知道是否有最佳日期来执行此操作.我想出的第一个解决方案是有开始和结束日期的日期和月份字段,但这个解决方案对我来说听起来不太合适.

我正在使用带有SQL的Ruby on Rails.

database time datetime ruby-on-rails

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

在Internet Explorer中动态设置高度转换为高度:auto

此脚本获取每个span元素的高度值并将其应用于其父li元素(我编写它来解决一些浮动/布局问题).它在Firefox和Chrome中完美运行:执行后,我检查html,一切都运行正常.

但是,在IE 7和8中(没有用IE6进行尝试,搞砸了)它无法正常工作.相反,它将所有li的高度设置为auto.

这是我的代码:

$(".fase ol > li").each(function(index) {
  var li_content_height = $('span', this).css('height');
  $(this).css('height', li_content_height )
});
Run Code Online (Sandbox Code Playgroud)

和HTML:

<div class="fase">
  <ol>
    <li>
      <span>blablablablabla</span>
    </li>
    <li>
      <span>blablablablabla</span>
    </li>
  </ol>
</div>
Run Code Online (Sandbox Code Playgroud)

jquery internet-explorer

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

在Rails模型和ActiveRecord中进行子类化

我正在编写一个电子商务类型的网络应用程序(不完全是,但给你一个想法).我将展示与彼此关系不大的不同类型的产品,但我希望有一个Product父类,为所有子类提供一个公共视图,并共享一些字段和行为.

但是这给我提出了许多问题,特别是关于ActiveModel:产品不应该有自己的表,但我希望它的子类(酒店,餐馆等)中的某些字段可以从中继承这些字段.我该怎么办呢?

拥有Product父类的另一个原因是最终我将需要使用Product.all和类对象的不同范围.

也许我完全被误导了,所以请随意建议任何方式来做到这一点.也许使用模块?

inheritance ruby-on-rails

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

如何在 jQuery 命令链的末尾将函数作为参数调用?

...如果最后一个命令没有回调函数?例如

$(something).remove(other_thing).append(new_thing)
Run Code Online (Sandbox Code Playgroud)

Append 没有回调函数,所以我的问题是,是否有 jQuery 方法(或其他方式)在一系列命令之后调用传递的函数?该功能不必影响当前选择。

编辑:我知道这个例子中的方法不应该花很长时间,所以不需要回调,但这只是我能想到的第一个例子。所以请想一想,好像情况并非如此

jquery

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

从php中的函数中访问函数?

范围如何适用于PHP中的函数?我可以在功能B中使用功能A(在功能B外定义)吗?

php

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

设计与非设计模型混合的链接/路线

我是第一次在应用程序中使用Devise,我遇到了一个我无法理解的奇怪问题:

我用Devise创建了我的用户模型,并设置了所有注册,用户注册等,一切正常.在我的应用程序标题中,我有我的导航菜单(当前为空)和部分登录,注销等:

_header.html.erb

<div class='topbar'>
    <div class='container'>
        <%= link_to 'My app', root_path, :class => 'brand' %>
        <div class='nav'>
        </div>
        <%= render 'layouts/user_options' %>
    </div>
</div>
Run Code Online (Sandbox Code Playgroud)

_user_options.html.erb

<ul class='user-options'>
    <% if user_signed_in? %>
      <li><%= link_to "Signed in as #{current_user.username}", '#' %></li>
      <li><%= link_to "Sign out", destroy_user_session_path, :method => :delete %></li>
    <% else %>
      <li><%= link_to "Sign up", new_user_registration_path %></li>
      <li><%= link_to "Sign in", new_user_session_path %></li>
    <% end %>
</ul>
Run Code Online (Sandbox Code Playgroud)

现在我添加导航菜单的第一个链接,如果我使用:

<%= link_to 'Tasks', '/tasks/index'  %>
Run Code Online (Sandbox Code Playgroud)

一切都好.但如果我使用:

<%= link_to 'Tasks', :controller => …
Run Code Online (Sandbox Code Playgroud)

ruby-on-rails devise

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