我试图显示用户发布的纹身最近添加的评论.所以,如果我贴了一个纹身,然后user_b发布了"嘿,我喜欢你的纹身",那么我试图得到评论.
首先,我使用acts_as_commentable_with_threading gem,它不会为我试图加入的表创建外键.所以我的控制器无法寻找tattoo_id,它必须寻找commentable_id
在控制器中,我必须调用Comment模型,然后将一些SQL内容传递给它,但显然我不知道如何将自定义SQL查询传递给ruby,因为即使我的查询字符串在终端中工作,我也会得到各种各样的废话.试图在铁轨中使用它.
我基本上试图这样做:
SELECT comments.id FROM comments,tattoos WHERE commentable_id = tattoos.id AND
tattoos.member_id = #{current_user}
Run Code Online (Sandbox Code Playgroud)
其中#{current_user}将是传入的current_user.
所以我有一个图像(纹身)共享网站有3种不同的索引图像方式.显示Image.all的主页面,显示@ member.images.all的成员图像,以及成员的专辑图像.也就是说,一个会员有很多图像(和专辑),一个专辑有很多图像.
现在,当您点击图片时,无论其位于何处(索引,会员的个人资料或会员专辑),您都可以进入展示页面.我想我可能需要一个上一个和下一个链接来显示下一个图像,但我需要能够将图像限制到它们的父容器.
因此,如果我正在查看相册中的图像,我需要下一个和上一个链接才能链接到该相册中的图像.如果我正在查看会员的图像而不是在相册中,那么链接将指向会员所拥有的图像,而不是相册中的图像.
如果图像位于首页,则链接将指向所有图像.
所以我设置了2个虚拟主机文件,example1.com和example2.com,其中包含以下信息:
- 第一个文件
<VirtualHost 127.0.0.1:80>
ServerName example1.com
ServerAlias www.example1.com
ServerAdmin admin@example1.com
DocumentRoot /var/www/example1.com
</VirtualHost>
Run Code Online (Sandbox Code Playgroud)
- 第二个文件
<VirtualHost 127.0.0.1:80>
ServerName example2.com
ServerAlias www.example2.com
ServerAdmin admin@example2.com
DocumentRoot /var/www/example2.com
</VirtualHost>
Run Code Online (Sandbox Code Playgroud)
并设置我的主机文件来阅读
127.0.0.1 locahost
127.0.0.1 example1.com
127.0.0.1 example2.com
Run Code Online (Sandbox Code Playgroud)
但是,如果我尝试访问localhost,example1.com或example2.com,我的浏览器只会将我发送到example1.com
默认的虚拟主机文件具有:
<Directory />
Options FollowSymLinks
AllowOverride None
</Directory>
<Directory /var/www/>
Options Indexes FollowSymLinks MultiViews
AllowOverride All
Order allow,deny
allow from all
</Directory>
Run Code Online (Sandbox Code Playgroud)
我假设/ var/www的AllowOverride优先于root正确吗?
所以后来我用a2dissite关闭了所有的虚拟主机,并在hosts文件中注释掉了这些行,但现在我的一半网站都没有工作.
我的一个wordpress网站似乎无法拉出它的css文件所以它全部顶起(24小时前很好),一些网站似乎已经失去了与数据库的连接.
我不知道最近会发生什么,但一切都被打倒了.
编辑 - 我的原始问题有两个虚拟主机文件指向example1.com,这是一个复制粘贴失败,实际文件指向合法的网站URL
我正在使用 Composer 构建自动 WordPress 部署,并将 wp-content 文件夹保留在主 WP 安装之外(因为我有一些自定义插件和主题),该文件夹是从 github 中提取的。
从 github 拉取并运行 Composer 后,我的文件夹结构如下所示:
-composer.php
-env.php
-public/
|-index.php
|-wp-config.php
|-wp-content/
|-themes/
|-plugins/
|-sunrise.php
|-wp/
|wordpress stuff
Run Code Online (Sandbox Code Playgroud)
我的 htaccess 规则在使用 MAMP 时运行良好,但我使用 VVV 作为我的开发环境,而 VVV 使用 nginx,因此我的重写规则不起作用。
VVV 使用 2 个conf 文件:一个文件由虚拟机上的所有站点共享(通用规则),另一个文件用于每个站点(基本上仅列出根目录)。
这是我的站点特定的conf文件:
server {
listen 80;
listen 443 ssl;
server_name auto.dev ~^auto\.\d+\.\d+\.\d+\.\d+\.xip\.io$;
root /srv/www/auto/htdocs/wordpress;
# my rules
# tells nginx to prepend "wp" to things
rewrite ^/(wp-.*.php)$ /wp/$1 last;
rewrite ^/(wp-(content|admin|includes).*) /wp/$1 last;
# end WP dir rules …Run Code Online (Sandbox Code Playgroud) 是的,我有一个模型acts_as_taggable_on :styles,我的样式标签从一系列复选框传入:
<% styles.each do |style|%>
<%= check_box("tattoo", "style_list", {:multiple => true}, style, nil) %> <span class="tatto_style"><%= style %></span>
<% end %>
Run Code Online (Sandbox Code Playgroud)
但我想确保用户检查至少一种样式.
validation ruby-on-rails acts-as-taggable-on ruby-on-rails-3
所以我列出了我网站的所有成员,并按名称对它们进行分组,以便更好地组织列表.因此,在我看来,我的所有成员都按其成员名称的第一个字母分组,如:
B
Bakedfish
Beercan Dan
Bigmike33x
C
Cynicalassassin
ect..
Run Code Online (Sandbox Code Playgroud)
无论如何,我也想对这个列表进行分页,但是如果我使用命令,我不能将Kaminari的分页参数添加到我的控制器,因为我得到一个未定义的方法错误.
所以这不起作用:
@members = Member.all.group_by{|u| u.fullname[0].titleize}.page(params[:page]).per(18)
Run Code Online (Sandbox Code Playgroud)
我的观点看起来像这样:
<div class="content">
<%= paginate @members %>
</div>
<% @members.keys.sort.each do |starting_letter| %>
<h3>
<%= link_to starting_letter, {:action => :browse, :controller =>:members, :letter => starting_letter } %>
</h3>
<ol>
<% @members[starting_letter].each do |member| %>
<li>
<% if member.is_artist? %>
<%= link_to member.full_name, member_path(member), :class=>"artist" %>
<% else %>
<%= link_to member.full_name, member_path(member) %>
<% end %>
</li>
<% end %>
</ol>
<% end %>
Run Code Online (Sandbox Code Playgroud)
这是我的错误消息: …
我正在制作一个 WordPress 主题,其功能允许用户从 Google 选择自己的字体。显然,因为这是一个 WordPress 主题,所以无法为每次安装创建新的 API 密钥。
我所需要的只是按字母顺序排列的字体列表。
如果有人给我一种按类别分组的方法,那就加分了!
好吧,我正在构建一个花哨的裤子wordpress主题和部分主题有php获取图像宽度和使用这些数字来调整页面元素.它在我的本地机器上工作正常,但是当我使用cpanel将主题放在我的托管服务器上时,它不起作用.
我收到这个错误
Warning: getimagesize() [function.getimagesize]: http:// wrapper is disabled in the server configuration by allow_url_fopen=0 in /home/yoursite/public_html/wpsite/wp-content/themes/yourtheme/styles/login.php on line 7
Warning: getimagesize(http://yoursite.com/wpsite/wp-content/uploads/2012/11/logo1.png) [function.getimagesize]: failed to open stream: no suitable wrapper could be found in /home/yoursite/public_html/wpsite/wp-content/themes/yourtheme/styles/login.php on line 7
Run Code Online (Sandbox Code Playgroud)
所以我想如果我在wordpress的根目录中创建了一个php.ini文件,其中包含:
[PHP]
allow_url_fopen = 1
Run Code Online (Sandbox Code Playgroud)
那会有用,但它不会.
反正有没有让这个工作?
所以我设置了我的wordpress主题,以允许用户上传精选图像,我建立我的索引页面,以显示所选页面的特色图像,但也想显示图像的描述.
问题是,我没有使用循环,我使用wordpress的设置API作为选项拉取页面ID.
因此,显示特色图像的方式如下:
<?php $bucket_options = get_option('frontpage_display_options'); ?>
<?php $page_one = $bucket_options['frontpage_bucket_one']; ?>
<?php $page_one = get_post($page_one); ?>
<?php if (has_post_thumbnail($page_one->ID)) : ?>
<?php echo get_the_post_thumbnail($page_one->ID, 'bucket'); ?>
<?php endif; ?>
Run Code Online (Sandbox Code Playgroud)
我一直在读这会起作用:
echo get_post(get_the_post_thumbnail_id($page_one->ID))->post_content;
Run Code Online (Sandbox Code Playgroud)
或这个:
echo get_post(get_the_post_thumbnail($page_one->ID))->post_content;
Run Code Online (Sandbox Code Playgroud)
但他们都没有显示任何东西
我有几种情况需要为元素设置动画,比如将其移动到左侧,或者将其淡入,但只有在初始动画完成100%之后.
就像说,当我点击搜索图标时,我有一个从页面顶部滑出的搜索抽屉.这很简单:
$('.search-toggle').on('click', function(){
$('.search-drawer').slideToggle(); // or fadeIn(), show() ect..
});
Run Code Online (Sandbox Code Playgroud)
但是,如果喜欢,我点击页面底部的搜索切换,我需要在显示搜索抽屉之前向上滚动到顶部?我试过这样的事情:
$('.search-toggle').on('click', function(){
$('html, body').animate({ scrollTop: 0 }, "slow").find('.search-drawer').slideToggle(); // or fadeIn(), show() ect..
});
Run Code Online (Sandbox Code Playgroud)
但这两个动画同时运行.我尝试过使用延迟,但这似乎不起作用,当顶部链接点击而不是底部时,可能会导致明显的延迟.
也就是说,我也试图运行一个动画,当你点击一个元素时,我希望它像330px一样向左移动然后,当它到达那个位置后,另一个元素会滑入或者我会有第二个元素首先滑入,然后第一个元素会做一些事情.关键是,如何在开始另一个动画之前完成动画制作.
所以对于我的第二个例子,我看到动画回调并不真正起作用.我有另一个动画:
$first.animate( {
left : "-=660"
},
300,
function(){
$second.animate({ left: '-='+startPosition });
}
}
Run Code Online (Sandbox Code Playgroud)
所以在这个例子中,理论上第一个$ first会向左移动660个像素,那么$ second会向左移动X个数量吗?它没有,它们看起来像是同时移动.或者更确切地说,$ second在$ first之前开始制作动画.
php ×4
wordpress ×4
activerecord ×1
apache2 ×1
cpanel ×1
jquery ×1
nginx ×1
ruby ×1
ubuntu-12.04 ×1
validation ×1
virtualhost ×1