小编bdx*_*bdx的帖子

Rails - 在link_to中传递参数

我的帐户索引页面列出了所有帐户,每个帐户都有一个"+服务"链接; 这应该将用户定向到/ my_services/new页面并使用适当的ID预先填充account_id字段,具体取决于在"帐户"索引页面上单击的链接.

我在每个页面的底部都有调试(params),并且我正在尝试的,除了:controller和:在我的/ my_services/new页面的参数中显示的操作之外,我没有得到任何其他内容.

我一直在尝试的链接是这样的:

link_to "+ Service", "my_services/new", :account_id => acct.id
Run Code Online (Sandbox Code Playgroud)

然后我在服务控制器中也有逻辑:

def new
  @my_service = MyService.new
  if params[:account_id]
    @my_service.account_id = params[:account_id]
  end
end
Run Code Online (Sandbox Code Playgroud)

有人可以帮助正确的方法吗?我还没有能够通过我尝试过的一些讨厌的小东西来实现它.

编辑

事实证明,如果有人shallow: true在将来看这个答案,嵌套资源(可能在routes.rb中有选项)似乎是要走的路.我对此部分的routes.rb现在看起来像这样:

resources :accounts, shallow: true do
  resources :services
end
Run Code Online (Sandbox Code Playgroud)

我的链接现在看起来像这样:

<%= link_to "+ Service", new_service_path(:service => { :account_id => @account.id } ) %>
Run Code Online (Sandbox Code Playgroud)

ruby-on-rails

69
推荐指数
2
解决办法
11万
查看次数

如何在浏览器中本地执行.js文件?

你好我想知道我怎么可以用我的mac在textmate上键入一个javascript游戏并且只有一个常规的.js文件,但是除了.js文件并打开它并让它运行在chrome中,如果我说它"Hello World! " 比你好世界!会出现在chrome中.

我想要的一个例子就是这个视频:http://vimeo.com/105955605

javascript google-chrome

28
推荐指数
1
解决办法
16万
查看次数

Rails - simple_form,在new和edit中包含一个名为空白对象的集合

我有一个simple_form,我试图在其中包含一个空白项,因为该字段中的'nil'值在此数据库中具有特殊含义.为了使最终用户更加明显,我还想用"(如果没有则选择)"这样的内容来标题.

我目前正在这样做,但它只在创建新对象时插入"空白"项目,而不是在编辑新对象时插入.

# _child_form.html.erb

<%= simple_form_for @child do |f| %>
  <%= f.input :first_name %>
  <%= f.input :last_name %>
  <%= f.association :parent, :collection => @parents, :prompt => "(select if none)" %>

  <%= f.button.submit %>
<% end %>
Run Code Online (Sandbox Code Playgroud)

.

# child_controller.rb

def new
  @child = Child.new
  @parents = Parent.all
end

def edit
  @child = Child.find(params[:id])
  @parents = Parent.all
end
Run Code Online (Sandbox Code Playgroud)

ruby-on-rails simple-form

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

对于表'X',IDENTITY_INSERT已经为ON.无法对表'Y'执行SET操作

我创建了一个执行检查的触发器,并自动将数据填充到2个表中.只有发生以下错误:

IDENTITY_INSERT is already ON for table 'X'. Cannot perform SET operation for table 'Y'.
Run Code Online (Sandbox Code Playgroud)

我在研究错误时发现了这个:

"在任何时候,会话中只有一个表可以将IDENTITY_INSERT属性设置为ON."

所以修复很简单:

SET IDENTITY_INSERT Table1 ON
-- insert statements for table1
SET IDENTITY_INSERT Table1 OFF

SET IDENTITY_INSERT Table2 ON
-- insert statements for table2
SET IDENTITY_INSERT Table2 OFF

SET IDENTITY_INSERT Table3 ON
-- insert statements for table3
SET IDENTITY_INSERT Table3 OFF
Run Code Online (Sandbox Code Playgroud)

但由于通过触发器填充数据是不可能的.

有没有人能解决我的问题?

我道歉.

谢谢你们.

触发 - - -

CREATE TRIGGER Alert ON registos AFTER INSERT AS
BEGIN

DECLARE @comp decimal = 0
DECLARE …
Run Code Online (Sandbox Code Playgroud)

sql sql-server

18
推荐指数
2
解决办法
4万
查看次数

Rails - 如何验证外键引用的行的存在

鉴于"Rails Way"似乎不使用外键约束,我正在寻找一种替代方案,允许我在TableB中保存对象之前验证外键引用确实存在于TableA中的行with table_a_id.

到目前为止我发现的唯一资源(无法找到它在2007年提到的博客文章的链接)似乎与Rails 3.2不兼容,所以任何人都可以建议一种方式这样做?

我目前正在寻找创建一个验证器来手动分配我的模型中的相关属性,但我无法弄清楚如何使用validate_each(对象,属性,值).

foreign-keys ruby-on-rails-3

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

CSS3有选择地禁用悬停效果

我有一个包含多个项目的未编号列表 - 有些项目是'标题',大多数项目是链接.

目前,我的列表中有以下CSS:

#result-side-menu li:hover {
  background-color: rgba(0,0,0,0.15);
}
Run Code Online (Sandbox Code Playgroud)

我希望能够仅在标题列表项上禁用悬停,同时将其保留在所有其他项上.到目前为止,我最好(但仍然不成功)的尝试是这样做:

#result-side-menu.li-no-hover li:hover {
  background-color: none;
}
Run Code Online (Sandbox Code Playgroud)

然后将其应用于class="li-no-hover"标题列表项.

有没有办法实现我想要做的事情?

css css3

11
推荐指数
1
解决办法
5万
查看次数

Rails best_in_place jQuery就地编辑:激活按钮不起作用

我的部分设置如下:

<%= best_in_place_if can?(:edit, Artist), @artist, :display_name, type: :input, :activator => "#activator" %>
<a href="#" id="activator">Edit</a>
Run Code Online (Sandbox Code Playgroud)

当我点击Edit链接时,没有任何反应.

如果我:activator => "#activator"从best_in_place链接中删除它,那么它允许我单击文本字段以开始编辑,如我所料; 唯一的问题是这在iPad上不起作用所以我需要一个单独的按钮来触发这个编辑功能.

有没有人知道让:activator设置工作的解决方法,或者有其他建议(包括不同的宝石),他们知道这些建议可以用于现场编辑字段?

ruby-on-rails-3 best-in-place

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

一个VCR盒中可匹配多个HTTP请求以进行rspec测试

我有一个规范文件,期望控制器操作将返回成功。

POST api/v1/users/:id/features/block控制器中的操作在外部API上调用了两个HTTP调用,唯一的不同在于主体。

我已将两个请求和响应放在同一VCR盒式磁带中,但是当使用盒式磁带时,只有第一个请求与之比较,而当第二个请求与第二个匹配时就会失败,从而导致测试失败。

我正在寻找一种使多个请求匹配的方法,以便控制器操作完成并成功返回。

我得到的错误是在结尾。

describe "POST /api/v1/users/:id/features/block" do
  before(:each) do
    @user = FactoryGirl.create(:user)
    post :block, user_id: @user.id, block: "0"
  end

  it "should return 200 OK" do
    expect(response).to be_success
  end
end
Run Code Online (Sandbox Code Playgroud)

我的VCR配置和RSpec配置的简化版本如下:

VCR.configure do |c|
  c.hook_into :webmock
  c.default_cassette_options = {
    match_requests_on: [:method, :uri, :body_regex]
  }
  c.register_request_matcher :body_regex do |request_1, request_2|
    # Match body against regex if cassette body is "--ruby_regex /regexhere/"
    if request_2.body[/^--ruby_regex\s*\//]
      regex = request_2.body.gsub(/^--ruby_regex\s*\//, '').gsub(/\/$/, '')
      request_1.body[/#{regex}/] ? true : false
    else
      true # No regex …
Run Code Online (Sandbox Code Playgroud)

rspec ruby-on-rails vcr

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

如何使用 CSS 将填充应用于包装文本?

我这里有一个最小的例子:https : //codepen.io/cpcpcpcpcpx/pen/VwZWoyJ

包含以下内容:

.wrapper {
  width: 200px;
}

h1 {
  font-size: 32px;
  font-family: Tahoma, Helvetica, sans-serif;
  line-height: 50px;
}

.header-text {
  background: #aabbcc;
  padding-left: 20px;
  padding-right: 20px;
  border-radius: 6px;
}
Run Code Online (Sandbox Code Playgroud)
<div class='wrapper'>
  <h1>
    <span class='header-text'>
           Long text that wraps
         </span>
  </h1>
</div>
Run Code Online (Sandbox Code Playgroud)

水平填充仅适用于它环绕的文本的开头和结尾,但我希望它适用于每一行。我可以接受边界半径不在每行的换行点,但我需要应用填充。

如果我将 padding-top 放入适用于两条线的 .header-text 类,那么我不清楚为什么线环绕的点会忽略水平填充选项。

有没有办法在 CSS 中做到这一点?

css

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

Mysql2 ::错误:无法读取dir - 在OS X上从homebrew重新安装mysql之后

我之前在OS X上安装的MySQL是使用本机软件包安装程序手动完成的.

有人帮我解决了升级某些宝石的问题,并且在过程中他们从自制软件工具中安装了mysql.

从那时起,我无法从MySQLWorkbench或我的各种rails应用程序访问我的任何本地数据库,但是使用相同的凭据在CLI上使用mysql登录允许我正常地读取和写入所有表.

我尝试加载页面时从rails收到的错误是:

Mysql2::Error: Can't read dir of './r4/' (errno: 13): SHOW TABLES LIKE 'schema_migrations'

关于我能做些什么来解决这个问题的任何想法?

mysql macos homebrew ruby-on-rails mysql2

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