我是否正确配置默认路由?目前,我的路线设置为:
root :to => 'proto#index'
Run Code Online (Sandbox Code Playgroud)
当我这样做时,我收到以下错误:
AbstractController::ActionNotFound (The action 'index' could not be found for ProtoController):
Run Code Online (Sandbox Code Playgroud)
我需要更改什么文件?
我的项目有问题,我想加入2个表("用户+国家/地区")我尝试使用下面的代码,但它没有用,
class User < ActiveRecord::Base
belongs_to :country
scope :ind, joins(:countries).where("countries.name like %india%")
end
Run Code Online (Sandbox Code Playgroud)
当我调用此方法时,我发现错误如下代码:
1.9.3-p484 :016 > user_ind = User.ind
NoMethodError: undefined method `ind' for #<Class:0xaa5ed94>
from /home/vinra/.rvm/gems/ruby-1.9.3-p484@rails3.2/gems/activerecord-3.2.14/lib/active_record/dynamic_matchers.rb:55:in `method_missing'
from (irb):16
from /home/vinra/.rvm/gems/ruby-1.9.3-p484@rails3.2/gems/railties-3.2.14/lib/rails/commands/console.rb:47:in `start'
from /home/vinra/.rvm/gems/ruby-1.9.3-p484@rails3.2/gems/railties-3.2.14/lib/rails/commands/console.rb:8:in `start'
from /home/vinra/.rvm/gems/ruby-1.9.3-p484@rails3.2/gems/railties-3.2.14/lib/rails/commands.rb:41:in `<top (required)>'
from script/rails:6:in `require'
from script/rails:6:in `<main>'
Run Code Online (Sandbox Code Playgroud)
我希望有人可以帮助我,谢谢你
我想在导航栏中建立链接。问题是我希望将图像作为可点击链接。因此(单击图像->下一个站点),这是我现在用于与该站点链接的代码。
<a class="nav" <%= link_to "Home", posts_path %> </a>
Run Code Online (Sandbox Code Playgroud) 这可能更像是一个概念性问题。我有一个用户表,我需要为每个用户提供角色。例如,我希望一些用户创建客户,而一些用户只查看客户。我想我可以创建一个这样的关联:
User has_one :role
Role belongs_to :user
Run Code Online (Sandbox Code Playgroud)
使用这种结构,我可以boolean
在Role
模型上创建字段,例如can_create_customer
. 如果我这样做了,那么我可以使用以下代码来检查基于每个用户的权限:
if role.can_create_customer?
Customer.create(name: "Test")
end
Run Code Online (Sandbox Code Playgroud)
有没有更好的方法来完成同样的事情?
我在模型中遇到以下问题:
class Search < ActiveRecord::Base
#search different system user by dn
def self.gets(sys, dn)
sys.constantize.search(dn)
end
end
Run Code Online (Sandbox Code Playgroud)
我可以看到,目的是传递不同的模型名称,sys
并dn
在这些特定模型中进行搜索。但是,我constantize
在Ruby中进行了搜索,看不到有关此用法的任何详细说明。
我正在创建一个基本的应用程序来创建和存储练习食谱,并且似乎无法在我的表单下显示错误,下面是我的简单示例 -
Recipes_controller.rb(相关部分)
def new
@recipe = Recipe.new
end
def create
@recipe = Recipe.new(recipe_params)
@recipe.save
redirect_to '/create_recipe'
end
private
def recipe_params
params.require(:recipe).permit(:title, :description)
end
Run Code Online (Sandbox Code Playgroud)
食谱.rb(模型)
class Recipe < ApplicationRecord
has_many :ingredients
has_many :steps
validates_presence_of :title
end
Run Code Online (Sandbox Code Playgroud)
新的html.erb
<%= form_for @recipe do |f| %>
<div class="new_recipe_form">
<% if @recipe.errors.any? %>
<div class="form_error">
<ul>
<% @recipe.errors.full_messages.each do |msg| %>
<li><%='Error: ' + msg %></li>
<% end %>
</ul>
</div>
<% end %>
<%= f.label :title %>
<%= f.text_field :title %>
<%= f.label …
Run Code Online (Sandbox Code Playgroud) 我使用 CSS 网格布局来实现 3 列布局。尽管我已经提到list1
跨越 3 行,但list1
它只跨越一行。
.wrapper {
max-width: 940px;
margin: 0 auto;
display: -ms-grid;
display: grid;
-ms-grid-columns: (1fr)[3];
grid-template-columns: repeat(3, 1fr);
}
.wrapper>div {
border: 2px solid #f76707;
border-radius: 5px;
background-color: #fff4e6;
padding: 1em;
color: #5a2916;
}
.item1 {
-ms-grid-column: 1;
grid-column-start: 1;
grid-column-end: 4;
-ms-grid-row: 1;
grid-row-start: 1;
grid-row-end: 3;
}
.item2 {
-ms-grid-column: 1;
grid-column-start: 1;
-ms-grid-row: 3;
grid-row-start: 3;
grid-row-end: 5;
}
Run Code Online (Sandbox Code Playgroud)
<div class="wrapper">
<div class="item1">One</div>
<div class="item2">Two</div>
<div class="item3">Three</div>
<div …
Run Code Online (Sandbox Code Playgroud)