在我的应用程序中,有一篇关于文章的评论部分.我希望用户能够使用3种不同的选项进行评论.要激活它,我使用的是Active Record Enum.请注意,评论部分嵌套在文章下面.
resources :articles, only: [:index, :show] do
resources :comments
end
Run Code Online (Sandbox Code Playgroud)
移民:
class AddEnumToCommentModel < ActiveRecord::Migration
def change
add_column :comments, :post_as, :integer, default: 0
end
end
Run Code Online (Sandbox Code Playgroud)
评论模型:
enum post_as: %w(username, oneliner, anonymous)
Run Code Online (Sandbox Code Playgroud)
我试图将其添加到内容视图中,但丢失了.我猜我也必须在我的控制器中做一些事但不确定.
试图观点:
<%= form_for([@article, @comment]) do |f| %>
<% if @comment.errors.any? %>
<div id="error_explanation">
<h2><%= pluralize(@comment.errors.count, "error") %> prohibited this comment from being saved:</h2>
<ul>
<% @comment.errors.full_messages.each do |message| %>
<li><%= message %></li>
<% end %>
</ul>
</div>
<% end %>
<div class="field">
<h3>Fill in your comment</h3> …
Run Code Online (Sandbox Code Playgroud) 我试图用LinkedIn Omniauth 2 gem登录用户.我尝试了一些不同的重定向可能性,阅读了几篇文章,没有任何工作.
我想在本地测试一下.Rails 4 app
宝石包括:omniauth omniauth-linkedin-oath2
重定向URL放入框中的几次尝试包括:
=需要保持私密的API密钥
http://localhost:3000
http://localhost:3000/
http://www.localhost:3000
https://localhost:3000
https://localhost:3000/
https://www.localhost:3000
Run Code Online (Sandbox Code Playgroud)我在整个过程中阅读了这两篇文章,但仍无法尝试找到重定向的正确方法.
https://developer.linkedin.com/forum/register-your-oauth-2-redirect-urls
https://developer.linkedin.com/forum/oauth-20-redirect-url-faq-invalid-redirecturi-error
我需要改变的任何帮助都会很棒.
我有一个自适应Web应用程序.我试图模仿本机移动应用程序中常见的消息栏.但是,即使我将消息栏设置为固定在底部,消息栏也会弹出太高而在键盘出现时变得不固定.
下面的两张图片显示了它是如何开始的,第二张图片显示了它是如何跳起来的.
它如何开始:
如何用键盘跳起来
应用程序在Ruby中.这是消息的表单:
<%= form_for(@message) do |f| %>
<%= f.text_area :body, placeholder: "Write a message...", class: "message-box", required: true %>
<%= f.hidden_field :match_id, value: @match.id %>
<%= f.submit "Send",
id: "send-message",
data: { disable_with: "Loading..." }
%>
<% end %>
Run Code Online (Sandbox Code Playgroud)
这是我用来在你输入时展开消息的jquery.我认为重要的是展示我正在使用的内容,以获得有关如何使其坚持到底的建议:
var span = $('<span>').css('display','inline-block')
.css('word-break','break-all')
.appendTo('body').css('visibility','hidden');
function initSpan(textarea){
span.text(textarea.text())
.width(textarea.width())
.css('font', textarea.css('font'));
}
$('.message-box').on({
input: function(){
var text = $(this).val();
span.text(text);
$(this).height(text ? span.height() : '30px');
},
focus: function(){
initSpan($(this));
},
keypress: function(e){
if(e.which == 13) e.preventDefault(); …
Run Code Online (Sandbox Code Playgroud) 我正在尝试选择一个带水豚的单选按钮,它找不到单选按钮.这是我的rspec测试,视图和错误.请注意我使用工厂用于用户,技能等.
Rspec测试
scenario "user chooses a couple skills and moves on to bio" do
user = create(:user)
skill = create(:skill)
skill_two = create(:skill)
skill_three = create(:skill)
sign_in(user)
visit onboard_skills_path
choose(skill.name)
end
Run Code Online (Sandbox Code Playgroud)
视图
<%= form_for(:onboard_skill, url: onboard_skills_path) do |f| %>
<ul>
<% @skills.each do |skill| %>
<li>
<%= check_box_tag("skill_ids[]", skill.id, current_user.onboard_skill_ids.include?(skill.id)) %>
<%= f.label(skill.name) %>
</li>
<% end %>
</ul>
<%= f.submit "Next >", class: "submit_skills" %>
<% end %>
Run Code Online (Sandbox Code Playgroud)
我得到的错误是:
Unable to find radio button "Development 1"
Run Code Online (Sandbox Code Playgroud) 我有一个嵌套的表单,有4个复选框.目前,一切都在浏览器中工作,但我无法获取capybara测试取消选中复选框并保存.
使用Rails 4.2.2和最新版本的capaybara-webkit和rspec
settings.html.erb
<%= f.fields_for :preferences do |f| %>
<div class="email-notifications-holder">
<div class="email-holder">
<%= f.label :new_match, "Getting a new match each week" %>
<%= f.check_box :new_match, class: "checkbox new_match_email" %>
</div>
<div class="email-holder">
<%= f.label :match_reminder, "New matches Thursday reminder", class: "match_reminder_email" %>
<%= f.check_box :match_reminder, default: true, class: "checkbox" %>
</div>
<div class="email-holder">
<%= f.label :accepted_match, "A Glassbreakers accepted a match", class: "accepted_match_email" %>
<%= f.check_box :accepted_match, default: true, class: "checkbox" %>
</div>
<div class="email-holder">
<%= f.label :new_message, …
Run Code Online (Sandbox Code Playgroud) 我目前正在使用Rails,Heroku和Apartment gem创建一个多租户应用程序.(请注意我知道在Heroku上使用多租户应用程序结构的限制超过10个不同的数据库).我正确设置了我的应用程序,并使用lvh.me让子域在本地正常工作.
自从推送到XXX-staging.herokuapp.com以来,XXX-staging已经是一个子域,所以它抛出了错误:
Apartment::TenantNotFound (One of the following schema(s) is invalid: "XXX-staging" "public"):
Run Code Online (Sandbox Code Playgroud)
有没有办法在Heroku登台环境中测试子域,或者是用另一个SSL通配符购买备用URL的唯一方法?我更愿意,如果那不是我必须做的,因为它可能是昂贵的.
在我的Rails控制器代码中,我想随机检索每个内容中的三个:
@content = Content.includes(:author).find(params[:id])
content_sub_categories = @content.subcategories
related_content = []
content_sub_categories.each do |sub_cat|
related_content << sub_cat.contents
end
@related_content = related_content.rand.limit(3)
Run Code Online (Sandbox Code Playgroud)
rand.limit(3)
不起作用,错误包括:
undefined method `limit' for #<Array:0x007f9e19806bf0>
Run Code Online (Sandbox Code Playgroud)
我熟悉Rails,但仍在学习Ruby.任何帮助都会非常感激.
也许可能是我也以这种方式呈现内容<%= @related_content %>
?
我正在使用: